我對Scala很新穎。akka類接收定義在哪裏?
在演員類之一,我有看到我的我的同事這樣定義
進口akka.actor.Actor
class Processor extends Actor {
def receive: Receive = {
case msg: String => doProcess(msg)
case _ =>
}
}
這哪裏是班上定義的代碼?它不會導入到這個類中。系統將如何找到接收類別
我對Scala很新穎。akka類接收定義在哪裏?
在演員類之一,我有看到我的我的同事這樣定義
進口akka.actor.Actor
class Processor extends Actor {
def receive: Receive = {
case msg: String => doProcess(msg)
case _ =>
}
}
這哪裏是班上定義的代碼?它不會導入到這個類中。系統將如何找到接收類別
它是一個類型別名一個類型別名PartialFunction[Any, Unit]
分別在akka.actor.Actor
伴侶對象和特質中定義。
摘自source code:
object Actor {
// Type alias representing a Receive-expression for Akka Actors.
type Receive = PartialFunction[Any, Unit]
// ...
}
trait Actor {
// to make type Receive known in subclasses without import
type Receive = Actor.Receive
// ...
}
Receive
是PartialFunction[Any,Unit]
的類型別名。該類型別名在Actor
隨播對象上定義,隨後將在Actor
特徵(因此在Actor
impls中可用)上重新定義,該特徵指的是伴隨對象上定義的特徵。
你爲什麼不接受的答案... – 2014-09-12 08:37:51