我希望能够在折叠fs2流时评估每一步。
Stream.iterable[F, Int](List(1, 2, 3, 4, 5))
.evalFold(0){ case (acc, e) => logger.info(acc + e).as(acc + e) }
你知道怎么做吗?你能写一个助手函数吗?它是由Stream
中的函数组合而成的?
假设logger.info()
是Int => F[Unit]
我在fs2 gitter上得到了的答案
- 我可以使用
evalScan(..).last
- 或者我可以通过实现
evalScan
并将其调整为只在最后输出来编写evalFold
fs2 API流扫描