Somme d'un tableau de nombres en Ruby
-
Utilisez
Array#sum
pour additionner un tableau de nombres en Ruby -
Utilisez
Array#inject
pour additionner un tableau de nombres en Ruby -
Utilisez
Array#each
pour additionner 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