HOWTO · Ruby
Suma un array de números en Ruby
Este artículo presenta cómo sumar un array de números en Ruby.
En esta página
Este tutorial discutirá diferentes métodos para calcular números en un array.
Use Array#sum para sumar un array de números en Ruby
Array#sum solo está disponible en Ruby 2.4.0 y superior.
[1, 2, 3].sum
Producción :
6
Use Array#inject para sumar un array de números en Ruby
Para calcular la suma de un arreglo en versiones de Ruby anteriores a la 2.4.0, debemos usar inject o su alias reduce.
inject es una función que toma un valor inicial y un bloque. La acumulación es el primer argumento del bloque y el número actual es el segundo.
[1, 2, 3].inject(0) { |sum, num| sum += num }
Producción :
6
Alternativamente, en lugar de inject, podríamos usar reduce.
[1, 2, 3].reduce(0) { |sum, num| sum += num }
Producción :
6
Podríamos acortar todo el código pasando el símbolo como nombre del método al que responde cada elemento, en este caso, método +.
[1, 2, 3].inject(0, :+)
Producción :
6
Use Array#each para sumar un array de números en Ruby
each se puede utilizar con una variable temporal. Es una estrategia ingenua y no se recomienda.
sum = 0
[1, 2, 3].each { |num| sum += num }
puts sum
Producción :
6