演员例如 “在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))

+2

或者使用箭头语法来创建元组:'1-> 2' – Dylan 2013-02-21 19:51:27