Kolekcje Scala - metoda FoldLeft

foldLeft () jest składnikiem cechy TraversableOnce, służy do zwijania elementów kolekcji. Nawiguje po elementach od lewej do prawej. Jest używany głównie w funkcjach rekurencyjnych i zapobiega wyjątkom przepełnienia stosu.

Składnia

Poniżej przedstawiono składnię metody fold.

def foldLeft[B](z: B)(op: (B, A) ? B): B

Tutaj metoda foldLeft przyjmuje funkcję asocjacyjnego operatora binarnego jako parametr. Ta metoda zwraca wynik jako wartość.

Stosowanie

Poniżej przykładowy program pokazujący jak używać metody foldLeft -

Przykład

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)      
   }
}

Tutaj przekazaliśmy 0 jako wartość początkową funkcji fold, a następnie wszystkie wartości są dodawane. Zapisz powyższy program w formacieDemo.scala. Poniższe polecenia służą do kompilowania i wykonywania tego programu.

Komenda

\>scalac Demo.scala
\>scala Demo

Wynik

10