def natural_numbers_except(exclude)
exclude_map = {}
exclude.each { |x| exclude_map[x] = true }
x = 1 while true
yield x unless exclude_map[x]
x = x.succ end end
natural_numbers_except([2,3,6,7]) do |x| break if x > 10
puts x end
# 1
# 4
# 5
# 8
# 9
# 10