我从下面的代码得到了不一致的答案,我觉得很奇怪.
import scala.math.pow
val p = 2
val a = Array(1,2,3)
println(a.par
.aggregate("0")((x, y) => s"$y pow $p; ", (x, y) => x + y))
for (i <- 1 to 100) {
println(a.par
.aggregate(0.0)((x, y) => pow(y, p), (x, y) => x + y) == 14)
}
a.map(x => pow(x,p)).sum
Run Code Online (Sandbox Code Playgroud)
在代码中a.par ...计算14 或 10.任何人都可以解释为什么计算不一致吗?