演员例如 “在Scala编程”,从书中抛出的参数太多错误
问题描述:
代码演员例如 “在Scala编程”,从书中抛出的参数太多错误
NameResolver ! ("http://*.com", self)
但我得到的错误:
scala> NameResolver ! ("http://*.com", self)
<console>:8: error: too many arguments for method !: (msg: Any)Unit
NameResolver ! ("http://*.com", self)
根据这本书,它应该工作。从书中复制的代码中是否存在会导致异常的错误?
答
您试图传递一个元组,但编译器认为您使用两个参数调用!
。因为有时可以省略括号,所以有时元组需要额外的括号,如((1, 2))
。这可能会导致混淆。尝试NameResolver !(("http://*.com", self))
或者使用箭头语法来创建元组:'1-> 2' – Dylan 2013-02-21 19:51:27