Somme d'un tableau de nombres en Ruby

Stewart Nguyen 30 janvier 2023
  1. Utilisez Array#sum pour additionner un tableau de nombres en Ruby
  2. Utilisez Array#inject pour additionner un tableau de nombres en Ruby
  3. Utilisez Array#each pour additionner un tableau de nombres en Ruby
Somme d'un tableau de nombres en Ruby

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

Article connexe - Ruby Array