Menu
Coddy logo textTech

L'itérateur Each

Fait partie de la section Fondamentaux du Journey Ruby de Coddy — leçon 65 sur 88.

Ruby offre une manière plus élégante de parcourir les tableaux qu'en utilisant les boucles for ou while. L'itérateur each est la méthode préférée en Ruby pour traiter chaque élément d'une collection.

Voici la syntaxe de base :

fruits = ["apple", "banana", "cherry"]

fruits.each do |fruit|
  puts fruit
end

Ceci affiche chaque fruit sur une ligne distincte. La variable entre les barres verticales (|fruit|) est appelée une variable de bloc. Elle contient temporairement chaque élément au fur et à mesure que l'itérateur parcourt le tableau.

Pour les blocs d'une seule ligne, vous pouvez utiliser des accolades au lieu de do...end :

numbers = [1, 2, 3]
numbers.each { |n| puts n * 2 }

La méthode each est puissante car vous pouvez effectuer n'importe quelle opération sur chaque élément. Voici un exemple qui calcule un total cumulé :

prices = [10, 25, 15]
total = 0

prices.each do |price|
  total += price
end

puts total  # Affiche : 50

Contrairement aux boucles for, la variable de bloc dans each reste confinée à l'intérieur du bloc, rendant votre code plus propre et moins sujet à des comportements inattendus.

challenge icon

Défi

Facile

Lisez une seule ligne d'entrée contenant des entiers séparés par des virgules (par exemple, 4,7,2,9,5).

Divisez l'entrée en un tableau d'entiers, puis utilisez l'itérateur each pour :

  1. Afficher chaque nombre multiplié par 3 sur sa propre ligne
  2. Calculer la somme de tous les nombres et l'afficher après la boucle

Utilisez une variable initialisée à 0 avant la boucle pour accumuler la somme au fur et à mesure que vous parcourez le tableau.

Par exemple, si l'entrée est 4,7,2,9,5, la sortie devrait être :

12
21
6
27
15
Sum: 27

Si l'entrée est 10,20,30, la sortie devrait être :

30
60
90
Sum: 60

Si l'entrée est 1,2,3,4, la sortie devrait être :

3
6
9
12
Sum: 10

Si l'entrée est 5, la sortie devrait être :

15
Sum: 5

Aide-mémoire

L'itérateur each est la méthode préférée en Ruby pour parcourir les tableaux :

fruits = ["apple", "banana", "cherry"]

fruits.each do |fruit|
  puts fruit
end

La variable entre barres verticales (|fruit|) est une variable de bloc qui contient temporairement chaque élément.

Pour les blocs d'une seule ligne, utilisez des accolades :

numbers = [1, 2, 3]
numbers.each { |n| puts n * 2 }

Vous pouvez effectuer des opérations sur chaque élément, comme le calcul d'un total cumulé :

prices = [10, 25, 15]
total = 0

prices.each do |price|
  total += price
end

puts total  # Affiche : 50

Essayez vous-même

# Lire les entiers séparés par des virgules
input = gets.chomp

# Diviser l'entrée en un tableau d'entiers
numbers = input.split(",").map(&:to_i)

# Initialiser la variable sum
sum = 0

# À FAIRE : Écrivez votre code ci-dessous
# Utiliser l'itérateur each pour :
# 1. Afficher chaque nombre multiplié par 3
# 2. Ajouter chaque nombre à la variable sum

# Afficher la somme finale
puts "Sum: #{sum}"
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux