reduceRight

trait Collection[A] {
  def reduceRight[B :> A](op: (A, B) => B): B
}

reduceLeft aplica, da direita para a esquerda, o operador binário op a cada elemento e o resultado da anterior op. A primeira vez que op é aplicada, ela é alimentada com os dois últimos elementos.

Nas coleções com um único elemento, esse elemento é retornado e o operador binário op não é aplicado.

Em coleções vazias, essa função lança uma exceção UnsupportedOperationException.