Scala 集合 - FoldLeft 方法


FoldLeft() 方法是 TraversableOnce 特征的成员,它用于折叠集合的元素。它按从左到右的顺序导航元素。它主要用在递归函数中,防止堆栈溢出异常。

句法

以下是折叠方法的语法。

def foldLeft[B](z: B)(op: (B, A) ? B): B

这里,foldLeft 方法将关联二元运算符函数作为参数。此方法将结果作为值返回。

用法

下面是一个示例程序,展示了如何使用 FoldLeft 方法 -

例子

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.foldLeft(0)(_ + _)
      //print result
      println(result)      
   }
}

这里我们将 0 作为初始值传递给折叠函数,然后将所有值相加。将上述程序保存在Demo.scala中。以下命令用于编译和执行该程序。

命令

\>scalac Demo.scala
\>scala Demo

输出

10