我试图了解 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 签名略有不同。请指教。谢谢。