Array Ruby

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