Exclude a list of natrual number : As Set « Array « Ruby






Exclude a list of natrual number


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

 








Related examples in the same category

1.Ruby can do several set operations on arrays
2.Difference (-) creates a new array, removing elements that appear in both arrays
3.Union (|) joins two arrays together, removing duplicates:
4.Computing Set Operations on Arrays: Union
5.Computing Set Operations on Arrays: Intersection
6.Computing Set Operations on Arrays: Difference
7.Set operation based on array
8.TypeError: cannot convert Set into Array
9.Set operation on array constant
10.Minus from one array