Menu
Coddy logo textTech

Revisão - Iterador Personalizado

Parte da seção Lógica e Fluxo do Journey de Ruby da Coddy. Lição 20 de 56.

Construa seu próprio método iterador que utiliza yield, aceita um bloco e retorna um valor útil, combinando tudo deste capítulo.

challenge icon

Desafio

Médio

Defina um método chamado each_even que recebe um array numbers e produz cada número par do array para o bloco correspondente (ignorando completamente os números ímpares).

Depois, leia uma lista de inteiros separados por vírgulas, chame each_even com um bloco que imprime "Even: <n>" para cada valor produzido e, por fim, imprima:

Done: <count>

Onde count é a quantidade de números pares produzidos.

Para a entrada 1,2,3,4,5,6, a saída é:

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

Experimente você mesmo

# TODO: defina each_even(numbers) que produz cada número par

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

# TODO: chame each_even com um bloco que imprime "Even: <n>"
# e incrementa count para cada valor produzido

puts "Done: #{count}"

Todas as lições de Lógica e Fluxo

Pratique por conta própria: Compilador de Ruby online