Itérateurs en Ruby

Introduction aux Itérateurs

Les itérateurs sont des outils essentiels en Ruby, permettant de répéter une tâche plusieurs fois. Ils sont souvent utilisés avec des collections telles que les Tableaux et les Hachages. Une collection représente un ensemble d'éléments, nous permettant de les manipuler efficacement.

L'itérateur each

Cet itérateur parcourt chaque élément d'une collection, restituant les valeurs dans l'ordre où elles sont stockées. Voici un exemple de son utilisation avec un tableau de lettres :

letters = ['C', 'o', 'd', 'e', 'c', 'a', 'd', 'e', 'm', 'y']
letters.each do |letter|  
  puts letter
end

Dans cet exemple : - letters est un tableau. - La méthode each effectue l'itération sur chaque élément de ce tableau. - Les mots-clés do et end délimitent le bloc de code à répéter. - La variable letter stocke la valeur courante de l'itération.

L'exécution de ce code affichera :

C
o
d
e
c
a
d
e
m
y

L'itérateur collect

L'itérateur collect applique un bloc de code à chaque élément d'une collection et renvoie un nouveau tableau contenant les résultats. Voici comment il fonctionne avec un tableau de chiffres :

numbers = [1, 2, 3, 4, 5]
numbers_squared = numbers.collect {|number| number * number}
puts numbers_squared

Dans cet exemple : - La méthode collect itère à travers le tableau numbers. - La variable number représente la valeur courante pour chaque itération.

La sortie sera :

[1, 4, 9, 16, 25]

L'itérateur times

L'itérateur times est un moyen efficace de répéter un bloc de code un certain nombre de fois. Voici un exemple où nous l'utilisons pour afficher des messages :

5.times do |i|  
  puts "Message numéro #{i + 1}"
end

Dans ce code, 5.times indique que le bloc sera exécuté cinq fois. La sortie que vous obtiendrez sera :

Message numéro 1
Message numéro 2
Message numéro 3
Message numéro 4
Message numéro 5

Conclusion

Les itérateurs sont des composants clés dans la programmation Ruby, offrant une manière élégante et concise de travailler avec des collections. Comprendre leur fonctionnement est fondamental pour tout développeur Ruby.