1

ときどき魔法が起こりすぎて、コンパイラが何をしているのかわからなくなってしまうことがあります。たとえば akka では、receive次のように定義されています。

def receive: Receive
type Receive = Actor.Receive

次のようにReceive定義されます。

type Receive = PartialFunction[Any, Unit]

次に、次のように宣言receiveします。

def receive = {
     case "a" => //do something
     case "b" => //do something
     case _ => //default
}

私は知ってPartialFunctionいますが、私が得られないのは、メッセージをどのように適用するかということreceiveです。を返すので、 applyandを提供することを想定していませんか?isDefinedAtreceivePartialFunction

構文的には、メッセージにどのように適用receiveされますか? それは何かのようなことをしmessage match receiveますか?

4

1 に答える 1