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 prend un tableau numbers et transmet (yield) chaque nombre pair du tableau à son bloc (en ignorant complètement les nombres impairs).

Ensuite, lisez une liste d'entiers séparés par des virgules, appelez each_even sur celle-ci avec un bloc qui affiche "Even: <n>" pour chaque valeur transmise, et enfin affichez :

Done: <count>

count est le nombre de nombres pairs qui ont été 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