是否可以找到ZIO Stream的大小,我有两个流,想要找到两者之间的内积,我的问题是如何找到大小以迭代它们。我使用map和foldMap解决了问题,但我想检查两种方法之间的性能? 这是我使用Fold and Map的工作:
settings.py
输出:60
答案 0 :(得分:1)
我将假设“内部乘积”是指您想将两个Stream[Double]
视为数学矢量,并在对整个流进行迭代后计算单个输出值。
为此,很容易使用zip
计算两个流的元素乘积,然后使用foldLeft
计算最终结果。
val products: Stream[Double] = stream1.zip(stream2).map(_ * _)
val innerProduct: UIO[Double] = products.run(Sink.foldLeft(_ * _))