HOWTO · Ruby

Somme d'un tableau de nombres en Ruby

Cet article explique comment additionner un tableau de nombres dans Ruby.

Sur cette page

Ce didacticiel abordera différentes méthodes pour calculer des nombres dans un tableau.

Utilisez Array#sum pour additionner un tableau de nombres en Ruby

Array#sum n’est disponible que dans Ruby 2.4.0 et supérieur.

[1, 2, 3].sum

Production :

6

Utilisez Array#inject pour additionner un tableau de nombres en Ruby

Pour calculer la somme d’un tableau dans les versions Ruby antérieures à 2.4.0, il faut utiliser inject ou son alias reduce.

inject est une fonction qui prend une valeur initiale et un bloc. L’accumulation est le premier argument de bloc et le nombre actuel est le second.

[1, 2, 3].inject(0) { |sum, num| sum += num }

Production :

6

Alternativement, au lieu de inject, nous pourrions utiliser reduce.

[1, 2, 3].reduce(0) { |sum, num| sum += num }

Production :

6

Nous pourrions raccourcir l’ensemble du code en passant le symbole comme nom de méthode auquel chaque élément répond, dans ce cas, la méthode +.

[1, 2, 3].inject(0, :+)

Production :

6

Utilisez Array#each pour additionner un tableau de nombres en Ruby

each peut être utilisé avec une variable temporaire. C’est une stratégie naïve et n’est pas recommandée.

sum = 0
[1, 2, 3].each { |num| sum += num }
puts sum

Production :

6