Coleções Scala - Método FoldLeft

O método foldLeft () é um membro do traço TraversableOnce, é usado para recolher elementos de coleções. Ele navega pelos elementos da ordem da esquerda para a direita. É usado principalmente em funções recursivas e evita exceções de estouro de pilha.

Sintaxe

A seguir está a sintaxe do método fold.

def foldLeft[B](z: B)(op: (B, A) ? B): B

Aqui, o método foldLeft usa a função de operador binário associativo como parâmetro. Este método retorna o resultado como valor.

Uso

Abaixo está um programa de exemplo mostrando como usar o método foldLeft -

Exemplo

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)      
   }
}

Aqui, passamos 0 como valor inicial para a função de dobra e, em seguida, todos os valores são adicionados. Salve o programa acima emDemo.scala. Os seguintes comandos são usados ​​para compilar e executar este programa.

Comando

\>scalac Demo.scala
\>scala Demo

Resultado

10