📜  Scala集合-折叠方法

📅  最后修改于: 2020-11-02 04:35:03             🧑  作者: Mango


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