stdlib/sets/sets.rb
tests/_examples/stdlib/sets/sets.rb in the metorex repository.
# Set methods demonstration
# Creating sets
s = Set.new
s.add(1)
s.add(2)
s.add(3)
s.add(2)
puts s.size
# From array
s2 = Set.new([10, 20, 30, 20])
puts s2.size
# Membership
puts s.contains?(2)
puts s.contains?(99)
# Remove
s.remove(2)
puts s.size
# empty?
puts Set.new.empty?
puts s.empty?
# Set operations
a = Set.new([1, 2, 3, 4])
b = Set.new([3, 4, 5, 6])
puts a.union(b).size
puts a.intersection(b).size
puts a.difference(b).size
# each
total = 0
Set.new([10, 20, 30]).each { |x| total += 1 }
puts total
# to_a
puts Set.new([1, 2, 3]).to_a.length
Output:
3
3
true
false
2
true
false
6
2
2
3
3