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