2
단순한 몬테카를로 시뮬레이션을 위해 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)
지금 나는 fold
와 함께 할 수 있지만 좀 "바로 가기"(떨어지게를 사용하고 싶습니다 합 tests
tests[0] |+| tests[1] |+| tests[2] ... // Rng[Double] is a monoid
의 모든 항목이 필요합니다. sum: Seq[M[A]] => M[A]
같은, M이고 단조 로움). scala
또는 scalaz
과 같은 기능을합니까?
haskell에서는 도움이된다면'mconcat'라고합니다. – Squidly
'map' 대신에'foldMap (point => ...)'를 사용하여 합계를 얻을 수 있습니다. – senia