0

私は次のクラスを持っています:

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.
    }(_)
     ^

このようなことを行う短い方法はありますか?

4

1 に答える 1