0
好吧我试图创建一个工作单元的Web请求,并在完成时将其管道传输给演员。我不明白这个匹配的输入和输出是否足够好,我正在失去头发,试图想出一个办法来进行比赛。Scala/akka模式匹配一系列期货流水线到演员的消息
我有一个比赛的一个包罗万象的风格case _ : Seq[_]
我将如何去1)进行正确的情况下,类匹配,在这种情况下Seq[SubcategoryResponse]
和2)会怎么做,我得到一个手柄它在体内?
val next_batch = Future.traverse(result.urls.get)(u => {
val F = System.requester ? makeGetRequest(Root(),u.data)
val F1 = F.map(f=> SubcategoryResponse(f.asInstanceOf[HttpResponse],u.payload.get,level+1))
F1
})
val res = Await result(next_batch, 20.seconds)
println(res.getClass)
res match {
case _ : Seq[_] => {
println("boom")
}
}
编辑:宾果
语法简单:( - >m : Seq[SubcategoryResponse]
编译器警告并没有让我感到很舒服,虽然所以我的新问题是,是什么类型擦除的意思。这种情况下,我是否需要采取警告当真?如果是这样,我怎么围绕它得到什么?
[warn] /Users/hassan/code/scala/extractor/HonCrawler.scala:139: non-variable type argument HonCategoryBootstrap.this.SubcategoryResponse in type pattern Seq[HonCategoryBootstrap.this.SubcategoryResponse] is unchecked since it is eliminated by erasure
[warn] case m : Seq[SubcategoryResponse] => {
[warn] ^
[warn] one warning found
类型擦除意味着Scala中不能在此上下文中序号[SubcategoryResponse]和SEQ [AnythingElse]之间进行区分。欲了解更多信息[见本文](http://daily-scala.blogspot.com/2010/01/overcoming-type-erasure-in-matching-1.html)。 –