📅  最后修改于: 2020-11-02 04:35:18             🧑  作者: Mango
foldLeft()方法是TraversableOnce特性的一个成员,用于折叠集合的元素。它从左到右顺序浏览元素。它主要用于递归函数中,可防止堆栈溢出异常。
以下是fold方法的语法。
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作为初始值传递给fold函数,然后将所有值相加。将以上程序保存在Demo.scala中。以下命令用于编译和执行该程序。
\>scalac Demo.scala
\>scala Demo
10