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
廣告
© . All rights reserved.