gpt4 book ai didi

scala - 如何在 Scala 中使用 "sum"monoid 值流?

转载 作者:行者123 更新时间:2023-12-01 15:05:34 27 4
gpt4 key购买 nike

假设我正在使用 Rng用于简单蒙特卡罗模拟的库(如 post 中所示)。

val d      : Rng[Double] = double
val point : Rng[(Double, Double)] = pair(d, d)
val points = point.stream(1000)
val tests = points.map(point => if (insideCircle(point)) 1.0 else 0.0)

现在我需要求和测试的所有项目

tests[0] |+| tests[1] |+| tests[2] ... // Rng[Double] is a monoid

我可以使用 fold 来完成,但我想使用一些“快捷方式”(smth.like sum: Seq[M[A]] => M[A],其中 M 是一个幺半群)。 scalascalaz 有这样的功能吗?

最佳答案

Scalaz 有各种 ops例如suml,假设 Stream 有一个 Foldable 类型实例。

关于scala - 如何在 Scala 中使用 "sum"monoid 值流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27426475/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com