試圖修復客戶端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