2012-02-10 62 views

回答

10

你只需這樣定義變量:

def receive = { 
    case A => 
    case B => 
    case C => 
    ... 
    case msg => 
    println("unsupported message: " + msg) 
} 

你甚至可以指定名稱,你與@匹配消息:

def receive = { 
    case msg @ A => // do someting with `msg` 
    ... 
} 
+0

這雖然不會處理_情況如果沒有它,比賽將不會詳盡無遺。我有興趣做一個詳盡的比賽,並找出不匹配的情況,不管它是什麼。 – 2012-02-10 16:32:55

+0

它會處理 – dmitry 2012-02-10 16:35:16

+0

好的,很酷。謝謝! – 2012-02-10 16:38:07

3

在Akka中執行此操作的「正確」方式是重寫「未處理」方法,按照您的要求進行操作,並將其委託給默認行爲或將其替換。

http://akka.io/api/akka/2.0-M4/#akka.actor.Actor

至於模式一般匹配,只是匹配任何東西,並將其綁定到一個名字,所以你可以參考一下吧:

x match { 
    case "foo" => whatever 
    case otherwise => //matches anything and binds it to the name "otherwise", use that inside the body of the match 
} 
+0

謝謝,那太好了。 – 2012-02-13 17:06:49

相關問題