요약 - 커스텀 이터레이터
Coddy Ruby 여정의 로직 및 흐름 섹션에 포함된 레슨 — 56개 중 20번째.
이 장의 모든 내용을 결합하여, yield를 사용하고 블록을 인자로 받으며 유용한 값을 반환하는 자신만의 반복자(iterator) 메서드를 만들어 보세요.
챌린지
중급배열 numbers를 인자로 받아 배열의 각 짝수를 블록으로 전달하는(홀수는 완전히 건너뜀) each_even이라는 이름의 메서드를 정의하세요.
그런 다음 쉼표로 구분된 정수 목록을 읽고, 전달된 모든 값에 대해 "Even: <n>"을 출력하는 블록과 함께 each_even을 호출한 후, 마지막으로 다음을 출력하세요:
Done: <count>여기서 count는 전달된 짝수의 개수입니다.
입력 1,2,3,4,5,6에 대한 출력은 다음과 같습니다:
Even: 2
Even: 4
Even: 6
Done: 3직접 해보기
# TODO: 모든 짝수를 yield하는 each_even(numbers)를 정의하세요
numbers = gets.chomp.split(",").map(&:to_i)
count = 0
# TODO: "Even: <n>"을 출력하는 블록과 함께 each_even을 호출하세요
# 그리고 yield된 각 값에 대해 count를 증가시키세요
puts "Done: #{count}"