2

我是 scala 的新手。所以我下载了源代码AKKA并安装了eclipse的插件(2.7.7 final)。当我打开项目时,它显示 29 个编译错误。我知道这可能是版本不匹配或插件设置问题。但我不知道如何解决它。

a) ')' 预期但 '=' 找到。

case class HotSwap(code: ActorRef ⇒ Actor.Receive, discardOld: Boolean = true)

b) 需要标识符,但找到了“对象”。

package object actor

谁能帮助这个简单的问题?

非常感谢:)

更新:

jilen提出了一个类似的问题。

如何将 sbteclipse 插件添加到 SBT 0.10.x

4

2 回答 2

3

Scala 2.7 中不存在默认参数。

不过,您可以伪造它们(有时是理智的):

// Note no "= true" which specified the default value
case class HotSwap(code: Any, discardOld: Boolean)
object HotSwap {
  def apply(code: Any): HotSwap = HotSwap(code, true)
}    
>> defined class HotSwap
>> defined module HotSwap    
HotSwap("x")    
>> res1: HotSwap = HotSwap(x,true)    
HotSwap("x",false)    
>> res2: HotSwap = HotSwap(x,false)

第二组错误是因为在 Scala 2.8 中也引入了包对象。不过,我从来没有和他们打过交道。“修复”这可能需要在更新引用方面做更多的工作,但请参阅前面的内容。

快乐编码。

于 2011-07-09T06:58:23.253 回答
2

最新的 akka 版本仅使用 scala 2.9 构建。你有可能使用这个版本吗?它会为你省去很多麻烦。

于 2011-07-09T08:58:37.263 回答