回顾:自定义迭代器
本课属于 Coddy Ruby 学习旅程的“逻辑与流程”单元。第 20 课,共 56 课。
自己编写一个迭代器方法,使用 yield、接受一个代码块,并返回一个有用的值,综合运用本章所学的所有内容。
挑战
中等定义一个名为 each_even 的方法,它接受一个数组 numbers,并将数组中的每个偶数传递给它的代码块(完全跳过奇数)。
然后,读取一个以逗号分隔的整数列表,调用它的 each_even,并传入一个代码块,为每个传入的值打印 "Even: <n>",最后打印:
Done: <count>其中,count 是传入的偶数个数。
对于输入 1,2,3,4,5,6,输出为:
Even: 2
Even: 4
Even: 6
Done: 3亲手试试
# TODO:定义 each_even(numbers),让它逐个产生所有偶数
numbers = gets.chomp.split(",").map(&:to_i)
count = 0
# TODO:用代码块调用 each_even,在代码块中打印 "Even: <n>"
# 并且每产生一个值,就将 count 加 1
puts "Done: #{count}"
逻辑与流程中的所有课
自己练习: Ruby 在线编译器