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