私は次のクラスを持っています:
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)
}
は次Recieve
のように定義されています
type Receive = PartialFunction[Any, Unit]
val
ここでは、 を保持する宣言を避けPartialFunction[Any, Any]
て、このように呼ぶようにしました。しかし、コンパイラはこのコードを拒否します。それは印刷します:
Error:(12, 6) ';' expected but '(' found.
}(_)
^
このようなことを行う短い方法はありますか?