Scala 集合 - fold 方法



fold() 方法是 `TraversableOnce` 特质的成员,用于折叠集合的元素。

语法

以下是 fold 方法的语法。

def fold[A1 >: A](z: A1)(op: (A1, A1) ? A1): A1

这里,fold 方法接受一个关联二元运算符函数作为参数。此方法返回结果作为值。它将第一个输入视为初始值,将第二个输入视为函数(该函数以累积值和当前项作为输入)。

用法

下面是一个示例程序,演示如何使用 fold 方法:

示例

object Demo {
   def main(args: Array[String]) = {
      val list = List(1, 2, 3 ,4)
      //apply operation to get sum of all elements of the list
      val result = list.fold(0)(_ + _)
      //print result
      println(result)      
   }
}

这里我们将 0 作为初始值传递给 fold 函数,然后将所有值相加。将上述程序保存为 **Demo.scala**。使用以下命令编译并执行此程序。

命令

\>scalac Demo.scala
\>scala Demo

输出

10
广告