Eclipse 对象中的私有字段不为';不编译

Eclipse 对象中的私有字段不为';不编译,eclipse,scala,Eclipse,Scala,我试图运行Scala编程中的一个示例,但编译器给了我错误: 描述资源路径位置类型 语句的非法开始(此处不允许使用修饰符)检查sumacc.sc/HelloWorld/src第3行Scala问题 基本上抱怨private import scala.collection.mutable.Map object ChecksumAcc { private val cache = Map[String, Int]() } 我正在使用Eclipse for Scala工作表。更新后相同。我相信

我试图运行Scala编程中的一个示例,但编译器给了我错误:

描述资源路径位置类型
语句的非法开始(此处不允许使用修饰符)检查sumacc.sc/HelloWorld/src第3行Scala问题

基本上抱怨
private

import scala.collection.mutable.Map

object ChecksumAcc {
    private val cache = Map[String, Int]()

}

我正在使用Eclipse for Scala工作表。更新后相同。我相信它使用2.9.3 scala编译器。为什么不编译?

不确定您的实际问题是什么,但Scala工作表有一些特殊规则(如非常清楚的错误消息所示…)。如果您使用工作表,可以做的一件事是将所有代码放入
工作表
对象中,如下所示:

object Worksheet {
  import scala.collection.mutable.Map

  object ChecksumAcc {
    private val cache = Map[String, Int]()
  }
}

或者,使用Eclipse的“New Scala object…”并使用它代替工作表。

避免在Eclipse Scala工作表中工作时看到错误消息 将类定义和伴随类(单例对象)包装在同一个对象中

object worksheet { 
 class CheckSumAccumulator {
 ... 
 } 
  object CheckSumAccumulator { 
  ... 
  } 
  CheckSumAccumulator.calculate("foobar")

}