我试图提出一种解决方案,将收到的传入字符串拆分为多个字符串。我一直在研究,在以前的Akka-Streams版本中似乎有一个Transformer可以扩展以进行这种转换的类。
在我使用的版本(RC2)中,有Stages,但我不确定如何实现拆分模式。
Source.actorPublisher[String](MyActor.props).
.XXXXX(_.split("\n"))
.map(...)
.to(Sink(...))
Run Code Online (Sandbox Code Playgroud)
我正在寻找XXXXX允许我输入a String并返回一个序列的组件String,并将每个组件发送到流程的其余部分。
我同意@jrudolph,这mapConcat可能就是您想要的。一个简单的示例展示了此方法的实际作用:
val strings = List(
"""hello
world
test
this""",
"""foo
bar
baz
"""
)
implicit val system = ActorSystem("test")
implicit val mater = ActorFlowMaterializer()
Source(strings).
mapConcat(_.split("\n").map(_.trim).toList).
runForeach(println)
Run Code Online (Sandbox Code Playgroud)
如果运行此代码,则会看到以下内容:
hello
world
test
this
foo
bar
baz
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1813 次 |
| 最近记录: |