>> require 'set' => true >> s1, s2 = Set[1, 2, 3, 4], [3, 4, 5, 6].to_set # different ways of creating a set => [#, #] >> s1 | s2 # Union => # >> s1 & s2 # Intersection => # >> s1 - s2 # Difference => # >> s1.proper_subset?(s1) # Proper subset => false >> Set[3, 1].proper_subset?(s1) # Proper subset => true >> s1.subset?(s1) # Subset => true >> Set[3, 1].subset?(s1) # Subset => true >> Set[3, 2, 4, 1] == s1 # Equality => true >> s1 == s2 # Equality => false >> s1.include?(2) # Membership => true >> Set[1, 2, 3, 4, 5].proper_superset?(s1) # Proper superset => true >> Set[1, 2, 3, 4].proper_superset?(s1) # Proper superset => false >> Set[1, 2, 3, 4].superset?(s1) # Superset => true >> s1 ^ s2 # Symmetric difference => # >> s1.size # Cardinality => 4 >> s1 << 99 # Mutability (or s1.add(99) ) => # >> s1.delete(99) # Mutability => # >> s1.merge(s2) # Mutability => # >> s1.subtract(s2) # Mutability => # >>