4

我想解析一个输出集合的 json 文件A。的签名OutputIO[List[A]]

如何将此值转换为Stream: Stream[IO, A]?我可以转换为 aStream[IO, List[A]]但这不是我想要的

fs2.Stream.eval(input).flatMap(x => fs2.Stream.apply(x)) 谢谢

4

2 回答 2

11

您也可以使用Stream.emits, 它接受一个Seq, 所以fs2.Stream.eval(output).flatMap(fs2.Stream.emits(_))

这比在 apply 中使用 varargs 更有效,因为它避免了对序列结构的包装和展开——这在专门的原始集合的情况下可以节省很多。

于 2018-06-19T19:55:48.250 回答
4

尝试

fs2.Stream.eval(output).flatMap(x => fs2.Stream.apply(x: _*))

`:_*`(冒号下划线星号)在 Scala 中有什么作用?

于 2018-04-10T12:11:03.503 回答