Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
第699页的演员示例;用Scala编程;抛出太多参数错误_Scala - Fatal编程技术网

第699页的演员示例;用Scala编程;抛出太多参数错误

第699页的演员示例;用Scala编程;抛出太多参数错误,scala,Scala,书中的代码: object NameResolver extends Actor{ import java.net.{InetAddress, UnknownHostException} def act(){ react{ case(name:String, actor:Actor) => actor ! getIp(name) act() ca

书中的代码:

object NameResolver extends Actor{
    import java.net.{InetAddress, UnknownHostException}

    def act(){
        react{
            case(name:String, actor:Actor) =>
                actor ! getIp(name)
                act()
            case "EXIT" => 
                println("Name resolver is exiting.")//quit
            case msg =>
                println("Unhandled message: "+msg)
                act()
        }
    }

    def getIp(name:String):Option[InetAddress]={
        try{
            Some(InetAddress.getByName(name))
        } catch {
            case _ : UnknownHostException => None
        }
    }

}
翻译行:

NameResolver ! ("http://stackoverflow.com", self)
但我有一个错误:

scala> NameResolver ! ("http://stackoverflow.com", self)
<console>:8: error: too many arguments for method !: (msg: Any)Unit
              NameResolver ! ("http://stackoverflow.com", self)
scala>namesolver!("http://stackoverflow.com“,自我)
:8:错误:方法的参数太多!:(味精:任何)单位
名字分解器!("http://stackoverflow.com“,自我)

根据这本书,它应该是有效的。我从书中复制的代码中是否存在导致异常的错误?

您试图传递一个元组,但编译器认为您正在调用
包含两个参数。因为有时可以省略括号,所以元组有时需要额外的括号,如
((1,2))
。这可能会引起混乱。试试
namesolver!(("http://stackoverflow.com“,self))

或使用箭头语法创建元组:
1->2