Scalaコレクション-フォールドメソッド

fold()メソッドはTraversableOnceトレイトのメンバーであり、コレクションの要素を折りたたむために使用されます。

構文

foldメソッドの構文は次のとおりです。

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

ここで、foldメソッドは連想二項演算子関数をパラメーターとして取ります。このメソッドは、結果を値として返します。最初の入力を初期値、2番目の入力を関数(累積値と現在のアイテムを入力として受け取ります)と見なします。

使用法

以下は、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)      
   }
}

ここでは、fold関数の初期値として0を渡してから、すべての値を追加しています。上記のプログラムをに保存しますDemo.scala。このプログラムをコンパイルして実行するには、次のコマンドを使用します。

コマンド

\>scalac Demo.scala
\>scala Demo

出力

10