scanLeft
trait Collection[A] {
def scanLeft[B](z: B)(op: (B, A) => B): Collection[B]
}
scanLeft cria uma coleção com os resultados intermediários da aplicação do operador binário op aos elementos dessa coleção, indo da esquerda para a direita.
A primeira vez que op é aplicada, ela é alimentada com o valor inicial z.