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