3

我正在尝试使用foldLeft来计算 a 中所有的Double总和Vector。使用reduce效果很好,但我只是不知道为什么它不使用foldLeft

scala> val prices = Vector(20.0, 9.5,8.4,9.1)
prices: scala.collection.immutable.Vector[Double] = Vector(20.0, 9.5, 8.4, 9.1)

scala> prices reduce (_ + _)
res0: Double = 47.0

scala> prices reduce ((total, price) => total + price)
res1: Double = 47.0

scala> prices foldLeft (0.0) (_ + _)
<console>:9: error: Double(0.0) does not take parameters
              prices foldLeft (0.0) (_ + _)
                                ^

我用谷歌搜索了一些使用foldLeftwithDouble的例子,上面的语法似乎有效

任何人都可以解释问题出在哪里?

谢谢

4

0 回答 0