试图修复客户端API,但运行到一个问题就在这里:包含选项的列表中的Scala模式匹配不接收类型?
case Some(List(Some(msgType:String), Some(channel:String), Some(data:String))) =>
List(Some(msgType:String), Some(channel:String), Some(data:String)).foreach {
msgType match {
case "message" | "pmessage" =>
fn(M(channel, data))
case x => throw new RuntimeException("unhandled message: " + x)
}
}
当我去编译代码,我得到的错误type mismatch; found : Any required: Some[String] => ?
在fn(M(channel, data))
如何正确结构匹配,因此收到类型?
更详细,当然可以解释我出错的地方。你是对的,我没有正确写出这个foreach。我很抱歉没有完全解释我的预期结果。本质上,其目的是遍历每条消息并创建一个fn(M()),它们是范围内定义的类。他们回答了Akka演员的回调:) – crockpotveggies