我有一个包含这个 Int 列表的 Future: List(40, 42, 41)
。我尝试使用我通常使用的过滤器功能对其进行过滤: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]])
}
}