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
endCeci 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 : 50Contrairement 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.
Défi
FacileLisez 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 :
- Afficher chaque nombre multiplié par 3 sur sa propre ligne
- 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: 27Si l'entrée est 10,20,30, la sortie devrait être :
30
60
90
Sum: 60Si l'entrée est 1,2,3,4, la sortie devrait être :
3
6
9
12
Sum: 10Si l'entrée est 5, la sortie devrait être :
15
Sum: 5Aide-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
endLa 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 : 50Essayez 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}"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
4Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateurs logiques, partie 47Calculateur de partage de facture
Message de bienvenueSaisie de l'utilisateur10FizzBuzz avec une variante
Présentation du jeuLa méthode FizzBuzz2Variables et types de données
Nombres et variablesType de données StringType de données BooleanType de données SymbolVérification des types de donnéesConventions de nommageRécapitulatif - Création de variables5Prise de décision
Instruction IfIf - ElseRécapitulatif - Calculatrice simpleIf - Else imbriquésInstruction Unless8Boucles
Boucle For avec des intervallesBoucle WhileBreakNextRécapitulatif - FactorielleBoucle TimesBoucle UntilBoucles imbriquéesRécapitulatif - Entrée dynamique3Les opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloRaccourcis arithmétiquesRécapitulatif - Calculs simplesOpérateurs de comparaison6Entrées/Sorties de base
Sortie avec putsSortie avec print et pSortie avec des variablesEntrée avec getsLa méthode chompConversion de typesRécapitulatif - Calculateur d'âgeRécapitulatif - Vrai ou Faux9Méthodes
Définir une méthodeParamètres de méthodeValeurs de retourRécapitulatif - Méthode SigmaRécapitulatif - Méthode de validationValeurs de paramètres par défaut12Itérer sur les collections
L'itérateur EachEach avec indexItérer sur les chaînes de caractèresMap et Collect