El método fold () es un miembro del rasgo TraversableOnce, se usa para colapsar elementos de colecciones.
Sintaxis
La siguiente es la sintaxis del método fold.
def fold[A1 >: A](z: A1)(op: (A1, A1) ? A1): A1
Aquí, el método de plegado toma la función de operador binario asociativo como parámetro. Este método devuelve el resultado como valor. Considera la primera entrada como valor inicial y la segunda entrada como una función (que toma el valor acumulado y el artículo actual como entrada).
Uso
A continuación se muestra un programa de ejemplo que muestra cómo utilizar el método de plegado:
Ejemplo
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)
}
}
Aquí hemos pasado 0 como valor inicial a la función de plegado y luego se agregan todos los valores. Guarde el programa anterior enDemo.scala. Los siguientes comandos se utilizan para compilar y ejecutar este programa.
Mando
\>scalac Demo.scala
\>scala Demo
Salida
10