foldLeft
trait Collection[A] {
def foldLeft[B](z: B)(op: (B, A) => B): B
}
foldLeft
aplica, da esquerda para a direita, o operador binário op
para cada elemento e o resultado da anterior op
.
A primeira vez que op
é aplicada, ela é alimentada com o valor inicial z
.
Em coleções vazias, essa função nem aplica op
e o valor inicial z
é retornado diretamente.