Скала: сложить против сложить

Я пытаюсь понять, как работают fold и foldLeft и соотвествующие Reduce и ReduleLeft. Я использовал 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)
: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 с точки зрения универсальных типов параметров. Пожалуйста, порекомендуйте. Благодарю.

Ответы на вопрос(1)

Ваш ответ на вопрос