我是 scala 的新手。所以我下载了AKKA的源代码并安装了eclipse的插件(2.7.7 Final)。当我打开项目时,它显示 29 个编译错误。我知道这可能是版本不匹配或插件设置问题。但我不知道如何解决它。
a) 预期为“)”,但找到了“=”。:
case class HotSwap(code: ActorRef ⇒ Actor.Receive, discardOld: Boolean = true)
b) 需要标识符,但找到“对象”。
package object actor
有人能帮忙解答这个简单的问题吗?
非常感谢:)
更新:
jilen提出了类似的问题。
最佳答案
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)
第二组错误是因为 Package Objects Scala 2.8 中也引入了。不过我从来没有和他们打过交道。 “修复”这个问题可能需要在更新引用文献方面做更多的工作,但请参阅前面的内容。
祝你编码愉快。
关于scala - 2.7.7下编译AKKA代码时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6633229/