这是代码。
mongoclient.scala
package com.scalainaction.mongo
import com.mongodb._
class MongoClient(val host:String, val port:Int) {
require(host != null, "You have to provide a host name")
val underlying = new com.scalainaction.mongo.Mongo
def this() = this("127.0.0.1", 27017)
def version = underlying.getVersion
def dropDB(name:String) = underlying.dropDatabase(name)
def createDB(name:String) = DB(underlying.getDB(name))
def db(name:String) = DB(underlying.getDB(name))
}
数据库。斯卡拉
package com.scalainaction.mongo
import com.mongodb.{DB => MongoDB}
import scala.collection.convert.Wrappers._
class DB private(val underlying: MongoDB) {
private def collection(name: String) = underlying.getCollection(name)
def readOnlyCollection(name: String) = new DBCollection(collection(name))
def administrableCollection(name: String) = new
DBCollection(collection(name)) with Administrable
def updatableCollection(name: String) = new
DBCollection(collection(name)) with Updatable
def collectionNames = for(name
DBCollection。斯卡拉
package com.scalainaction.mongo
import com.mongodb.{DBCollection => MongoDBCollection }
import com.mongodb.DBObject
class DBCollection(override val underlying: MongoDBCollection) extends ReadOnly
trait ReadOnly {
val underlying: MongoDBCollection
def name = underlying.getName
def fullName = underlying.getFullName
def find(doc: DBObject) = underlying.find(doc)
def findOne(doc: DBObject) = underlying.findOne(doc)
def findOne = underlying.findOne
def getCount(doc: DBObject) = underlying.getCount(doc)
}
trait Administrable extends ReadOnly {
def drop: Unit = underlying.drop
def dropIndexes: Unit = underlying.dropIndexes
}
trait Updatable extends ReadOnly {
def -=(doc: DBObject): Unit = underlying.remove(doc)
def +=(doc: DBObject): Unit = underlying.save(doc)
}
所有程序都放在同一个包com.scalainaction.mongo
内。
我不使用IDE,所以我通过运行来编译这些文件
scalac mongoclient.scala DB.scala DBCollection.scala
我的$CLASSPATH包括mongodb。jar文件,并指向com。缩放操作。我的应用程序目录中的mongo文件夹
现在,我打算通过运行scala quickTour来运行一个使用该包的程序。scala-cp$CLASSPATH `
import com.scalainaction.mongo._ import com.mongodb.BasicDBObject def client = new MongoClient("127.0.0.1", 27017) def db = client.db("mydb") for(name
但是我的应用程序找不到MongoClient类,我得到了这个错误
quickTour.scala:1: error: object scalainaction is not a member of package com import com.scalainaction.mongo._ ^ /Users/sid/scala_apps/quickTour.scala:4: error: MongoClient does not have a constructor def client = new MongoClient("127.0.0.1", 27017) ^ two errors found
我不明白为什么它找不到构造函数。我用def this方法定义了一个重载的构造函数
为什么它找不到com.scalanation.mongo?
如果你能帮上忙我会很感激的
**更新**
我的com/scalainaction/mongo文件夹中的文件是
Administrable$class.class DB$.class ReadOnly$class.class Administrable.class DB.class ReadOnly.class DB$$anon$1.class DBCollection.class Updatable$class.class DB$$anon$2.class MongoClient$$anonfun$1.class Updatable.class DB$$anonfun$collectionNames$1.class MongoClient.class
问题是您的com和/或com/scalainaction文件夹为空。在那里开设一些课程,应该会奏效。
本书是 The Neophyte’s Guide to Scala 的中文翻译,The Neophyte’s Guide to Scala 是 Daniel Westheide 写的一系列有关 Scala 的文章。
本文向大家介绍Scala概述| Scala编程教程,包括了Scala概述| Scala编程教程的使用技巧和注意事项,需要的朋友参考一下 Scala是Martin Odersky开发的一种编程语言。它于2003年投放市场。Scala代表可扩展语言。Scala是一种基于Java的编程语言,比Java更容易编码。因此被视为企业软件开发中Java的未来替代品。 Scala编程语言的功能 Scala的一些功
我对scala语言(和一般编程)比较陌生。我最近安装了JDK和Scala IDE(用于eclipse)。安装进行得很顺利,但我在尝试运行Hello World应用程序时遇到了一个问题。当我尝试“运行方式”时,唯一可用的选项是“Java小程序”和“Java应用程序”。如何继续尝试作为“Scala应用程序”运行?非常感谢!
本文向大家介绍Scala基础知识和语法 Scala编程教程,包括了Scala基础知识和语法 Scala编程教程的使用技巧和注意事项,需要的朋友参考一下 在安装并了解了Scala之后,该介绍一下Scala中重要的一些基本概念了。您将在Scala开发载体中多次使用它们。 一些基本的Scala概念 对象: 对象是类的实例。它具有状态和行为。例如,一辆汽车具有以下状态:颜色,型号,座位数和行为:行驶,速度
本文向大家介绍学习Scala和函数式编程的原因,包括了学习Scala和函数式编程的原因的使用技巧和注意事项,需要的朋友参考一下 Scala是Scala,Groovy和Kotlin中最强大的Java替代品之一。Scala是一种JVM语言,是我最喜欢的程序员,您需要从Java切换到它,因为它与Java相似。 使之成为首选编程语言的最重要的事情是它同时支持函数式编程和面向对象的编程。函数式编程使其可以利
问题内容: 命令可以运行已编译的Scala代码吗?如果是这样,我们为什么要使用排他命令? 问题答案: 如果您在类路径中包含了Scala的所有必要运行时库(scala-library.jar,scala-swing.jar …),则可以运行Scala生成的字节代码。scala命令自动执行此操作,并支持特定于Scala的命令行参数。