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