Flatten the subsets : Set « Collections « Ruby






Flatten the subsets


require 'set'

s = %w[ant ape cow hen hog].to_set # A set of words
t = s.divide {|x,y| x[0] == y[0]}  # Divide it into subsets
t.flatten!                         # Flatten the subsets
t == s                             # => true

 








Related examples in the same category

1.Create set with Set.new
2.Create set with constant values
3.Is it in a set
4.Is it a subset
5.Set length, size and empty?
6.The intersection is the set of values that appear in both
7.The union is the set of values that appear in either
8.a-b: is the elements of a except for those also in b
9.a^b is the set of values that appear in one set but not both: (a|b)-(a&b)
10.Add element to a set
11.merge a range to a set
12.Remove elements from a set
13.Set subtraction
14.Delete elements from a set with block
15.Reject elements from a set
16.Do an in-place intersection like this:
17.Replace a set
18.Clear a set
19.Is it empty
20.Each loop
21.Map elements in a set
22.Collect in place
23.Convert set to array
24.Inspect a set
25.Compare two sets
26.Classify set elements as even or odd
27.Divide set
28.Divide with block
29.Add new method to set
30.Partitioning or Classifying a Set
31.Divide a set by value
32.Divide a set by even and odd value
33.Divide a set by its element's class
34.Divide a set by absolute value
35.Divide set into three sub sets
36.Classify a set into three
37.Convert a hash to set and divide
38.Add set operation to Array
39.Sort with block
40.Set includes and membership