Menu
Coddy logo textTech

Podsumowanie — własny iterator

Część sekcji Logika i przepływ programu ścieżki Ruby w Coddy. Lekcja 20 z 56.

Utwórz własną metodę iteratora, która używa yield, przyjmuje blok i zwraca przydatną wartość, łącząc wszystko z tego rozdziału.

challenge icon

Wyzwanie

Średni

Zdefiniuj metodę o nazwie each_even, która przyjmuje tablicę numbers i przekazuje każdą parzystą liczbę z tablicy do swojego bloku (całkowicie pomijając nieparzyste liczby).

Następnie wczytaj listę liczb całkowitych oddzielonych przecinkami, wywołaj na niej each_even z blokiem, który wypisuje "Even: <n>" dla każdej przekazanej wartości, a na końcu wypisz:

Done: <count>

Gdzie count oznacza liczbę przekazanych liczb parzystych.

Dla wejścia 1,2,3,4,5,6 wynikiem jest:

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

Spróbuj swoich sił

# TODO: zdefiniuj each_even(numbers), która przekazuje do bloku każdą liczbę parzystą

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

# TODO: wywołaj each_even z blokiem, który wypisuje "Even: <n>"
# i zwiększa count dla każdej przekazanej do bloku wartości

puts "Done: #{count}"

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator Ruby online