0
我有以下類:如何將PartialFunction與另一個函數結合並返回PartialFunction?
class MessageProcessorActor(private val destination : ActorRef) extends Actor{
override def receive: Receive = {
case _ =>
destination ! {
case MyActor.TracableMessage(msg) => MyActor.TracableMessage("Processed + " + msg)
case MyActor.Message(msg) => MyActor.Message("Processed + " + msg)
case _ => "Processed + " + _
}(_)
}
}
object MyActor{
case class TracableMessage(private val msg: String) extends Message(msg)
case class Message(private val msg: String)
}
凡爲
type Receive = PartialFunction[Any, Unit]
在這裏,我試圖避免宣佈val
拿着PartialFunction[Any, Any]
並調用它這樣Recieve
定義。但編譯器拒絕此代碼。它打印:
Error:(12, 6) ';' expected but '(' found.
}(_)
^
是否有一個簡短的方法來做這樣的事情?
是的,它確實有效,但我試圖避免多個'目的地! msg'表達。並只寫一次(而不是三次)。 – user3663882
會有什麼好處? –