我尝试从Scala中编程运行一个示例,但编译器给出了错误:
Description Resource Path Location Type
illegal start of statement (no modifiers allowed here) ChecksumAcc.sc /HelloWorld/src line 3 Scala Problem
基本上抱怨private
import scala.collection.mutable.Map
object ChecksumAcc {
private val cache = Map[String, Int]()
}
我正在使用Eclipse for Scala工作表。更新后相同。我相信它使用2.9.3 scala编译器。为什么不编译?
答案 0 :(得分:2)
不确定您的实际问题是什么,但Scala工作表有一些特殊规则(如非常明确的错误消息所示......)。如果 使用工作表,您可以做的一件事就是将所有代码放在Worksheet
对象中,如下所示:
object Worksheet {
import scala.collection.mutable.Map
object ChecksumAcc {
private val cache = Map[String, Int]()
}
}
或者,使用Eclipse的“New Scala object ...”并使用它而不是工作表。
答案 1 :(得分:0)
当您在Eclipse Scala工作表中工作时,要避免看到错误消息 将Class定义和Companion类(Singleton对象)包装在同一个对象中
object worksheet {
class CheckSumAccumulator {
...
}
object CheckSumAccumulator {
...
}
CheckSumAccumulator.calculate("foobar")
}