【发布时间】:2013-04-13 05:59:12
【问题描述】:
我试图了解 fold 和 foldLeft 以及各自的 reduce 和 reduceLeft 是如何工作的。我以 fold 和 foldLeft 为例
scala> val r = List((ArrayBuffer(1, 2, 3, 4),10))
scala> r.foldLeft(ArrayBuffer(1,2,4,5))((x,y) => x -- y._1)
scala> res28: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(5)
scala> r.fold(ArrayBuffer(1,2,4,5))((x,y) => x -- y._1)
<console>:11: error: value _1 is not a member of Serializable with Equals
r.fold(ArrayBuffer(1,2,4,5))((x,y) => x -- y._1)
为什么fold 不能作为foldLeft 工作? Serializable with Equals 是什么?我了解 fold 和 foldLeft 在参数泛型类型方面的 API 签名略有不同。请指教。谢谢。
【问题讨论】:
-
什么版本的scala?
-
我的scala版本是2.10.1