Suma un array de números en Ruby

Stewart Nguyen 30 enero 2023
  1. Use Array#sum para sumar un array de números en Ruby
  2. Use Array#inject para sumar un array de números en Ruby
  3. Use Array#each para sumar un array de números en Ruby
Suma un array de números en Ruby

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

Artículo relacionado - Ruby Array