Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何在akka中筛选结果?_Scala_Filter_Akka - Fatal编程技术网

Scala 如何在akka中筛选结果?

Scala 如何在akka中筛选结果?,scala,filter,akka,Scala,Filter,Akka,我有一个包含Int的未来列表:List(40,42,41)。我尝试使用我通常使用的filter函数对其进行过滤:f.filter(==42)。 f是包含列表的未来。我是从另一个演员那里得到的。执行时,我得到以下匹配错误: [ERROR] [12/03/2012 09:37:34.252] [playground-akka.actor.default-dispatcher-1] [akka://playground/user/sender] List(40, 42, 41) (of class s

我有一个包含Int的未来列表:
List(40,42,41)
。我尝试使用我通常使用的filter函数对其进行过滤:
f.filter(==42)
。 f是包含列表的未来。我是从另一个演员那里得到的。执行时,我得到以下匹配错误:

[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]])
  }

}

您正试图通过调用Int列表未来的筛选器来筛选Int列表。你需要先“打开”列表

Await.result(f map { list => list filter { _ == 42 } })

请你把相关代码整体展示一下好吗?谢谢你的作品。经过一些尝试,我发现,我需要显式类型来实现这一点。