Collezioni Scala - Metodo Fold

Il metodo fold () è un membro del tratto TraversableOnce, viene utilizzato per comprimere gli elementi delle raccolte.

Sintassi

La seguente è la sintassi del metodo fold.

def fold[A1 >: A](z: A1)(op: (A1, A1) ? A1): A1

Qui, il metodo fold accetta come parametro la funzione di operatore binario associativo. Questo metodo restituisce il risultato come valore. Considera il primo input come valore iniziale e il secondo input come una funzione (che prende come input il valore accumulato e l'elemento corrente).

Utilizzo

Di seguito è riportato un programma di esempio che mostra come utilizzare il metodo di piegatura:

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.fold(0)(_ + _)
      //print result
      println(result)      
   }
}

Qui abbiamo passato 0 come valore iniziale alla funzione fold e quindi vengono aggiunti tutti i valori. Salva 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