Menu
Coddy logo textTech

Récapitulatif - Itérateur personnalisé

Fait partie de la section Logique et Flux du Journey Ruby de Coddy. Leçon 20 sur 56.

Créez votre propre méthode d'itérateur qui utilise yield, accepte un bloc et retourne une valeur utile, en combinant tout ce qui a été vu dans ce chapitre.

challenge icon

Défi

Moyen

Définissez une méthode nommée each_even qui reçoit un tableau numbers et transmet chaque nombre pair du tableau à son bloc (en ignorant entièrement les nombres impairs).

Lisez ensuite une liste d’entiers séparés par des virgules, appelez each_even avec un bloc qui affiche "Even: <n>" pour chaque valeur transmise, puis affichez finalement :

Done: <count>

count correspond au nombre de nombres pairs transmis.

Pour l’entrée 1,2,3,4,5,6, la sortie est :

Even: 2
Even: 4
Even: 6
Done: 3

Essayez vous-même

# TODO: définir each_even(numbers) qui produit chaque nombre pair

numbers = gets.chomp.split(",").map(&:to_i)
count = 0

# TODO: appeler each_even avec un bloc qui affiche "Even: <n>"
# et incrémente count pour chaque valeur produite

puts "Done: #{count}"

Toutes les leçons de Logique et Flux

Entraînez-vous par vous-même : Compilateur Ruby en ligne