0

この Int: のリストを含む Future がありますList(40, 42, 41)。通常使用する filter-function を使用してフィルタリングしようとしました: f.filter(_ == 42)。f はリストを含むフューチャです。他の俳優さんから頂きました。実行すると、次の MatchError が発生します。

[ERROR] [12/03/2012 09:37:34.252] [playground-akka.actor.default-dispatcher-1] [akka://playground/user/sender] List(40, 42, 41) (of class scala.collection.immutable.$colon$colon)
scala.MatchError: List(40, 42, 41) (of class scala.collection.immutable.$colon$colon)

そのエラーを理解できず、修正できません。誰でも私を助けてもらえますか?

編集

これがワンピースのコードです:

case class Send(target: ActorRef, msg: String)

class SendingActor extends Actor with ActorLogging {

  implicit val timeout = Timeout(1 second)

  def receive = {
    case Send(target, msg) =>
      log.info("will send %s".format(msg))
      val f = target ? msg
      log.info("awaited " + Await.result(f.filter(_ == 42), timeout.duration).asInstanceOf[List[Int]])
  }

}
4

1 に答える 1

2

intのリストの将来でfilterを呼び出して、intのリストをフィルタリングしようとしています。最初にリストを「解凍」する必要があります。

Await.result(f map { list => list filter { _ == 42 } })
于 2012-12-03T09:14:20.170 に答える