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