Collezioni Scala - Metodo FoldLeft
Il metodo foldLeft () è un membro del tratto TraversableOnce, viene utilizzato per comprimere gli elementi delle raccolte. Naviga tra gli elementi da sinistra a destra. Viene utilizzato principalmente nelle funzioni ricorsive e previene le eccezioni di overflow dello stack.
Sintassi
La seguente è la sintassi del metodo fold.
def foldLeft[B](z: B)(op: (B, A) ? B): B
Qui, il metodo foldLeft accetta la funzione di operatore binario associativo come parametro. Questo metodo restituisce il risultato come valore.
Utilizzo
Di seguito è riportato un programma di esempio che mostra come utilizzare il metodo foldLeft:
Esempio
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)
}
}
Qui abbiamo passato 0 come valore iniziale alla funzione fold e quindi tutti i valori vengono aggiunti. Salvare il programma sopra in formatoDemo.scala. I seguenti comandi vengono utilizzati per compilare ed eseguire questo programma.
Comando
\>scalac Demo.scala
\>scala Demo
Produzione
10