ido*_*mun 1 scala akka akka-stream
我想知道是否有任何方法可以优化以下Scala代码,因为它看起来效率不高.基本上,我只想删除任何不是Tweet来自流的对象并将其映射到Tweet而不是Any.
val tweetsFlow = Flow[Any].filter({
case _: Tweet => true
case _ => false
}).map({
case tweet: Tweet => tweet
})
Run Code Online (Sandbox Code Playgroud)
你可以使用collect方法,有些像这样
val tws = Vector(
"foo",
Tweet(Author("foo"), tms, "foo #akka bar"),
1000L,
Tweet(Author("bar"), tms, "foo #spray bar"),
Tweet(Author("baz"), tms, "foo bar"),
1
)
val tflow = Flow[Any].collect {
case x: Tweet => x
}
Source(tws).via(tflow)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
318 次 |
| 最近记录: |