Type:
Class
Constants:
InspectKey : :__inspect_key__

Set implements a collection of unordered values with no duplicates. This is a hybrid of Array's intuitive inter-operation facilities and Hash's fast lookup.

The equality of each couple of elements is determined according to Object#eql? and Object#hash, since Set uses Hash as storage.

Set is easy to use with Enumerable objects (implementing each). Most of the initializer methods and binary operators accept generic Enumerable objects besides sets and arrays. An Enumerable object can be converted to Set using the to_set method.

Comparison

The comparison operators <, >, <= and >= are implemented as shorthand for the {proper_,}{subset?,superset?} methods. However, the <=> operator is intentionally left out because not every pair of sets is comparable. ({x,y} vs. {x,z} for example)

Example

require 'set'
s1 = Set.new [1, 2]                   # -> #<Set: {1, 2}>
s2 = [1, 2].to_set                    # -> #<Set: {1, 2}>
s1 == s2                              # -> true
s1.add("foo")                         # -> #<Set: {1, 2, "foo"}>
s1.merge([2, 6])                      # -> #<Set: {6, 1, 2, "foo"}>
s1.subset? s2                         # -> false
s2.subset? s1                         # -> true

Contact

- Akinori MUSHA <knu@iDaemons.org> (current maintainer)
to_a

to_a() Instance Public methods Converts the set to an array. The order of elements

2015-05-14 11:04:55
classify

classify() Instance Public methods Classifies the set by the return value of

2015-05-14 08:58:21
flatten

flatten() Instance Public methods Returns a new set that is a copy of the set

2015-05-14 09:38:27
merge

merge(enum) Instance Public methods Merges the elements of the given enumerable

2015-05-14 10:20:22
-

-(enum) Instance Public methods Returns a new set built by duplicating the set

2015-05-14 08:18:13
subtract

subtract(enum) Instance Public methods Deletes every element that appears in

2015-05-14 10:57:16
keep_if

keep_if() Instance Public methods Deletes every element of the set for which

2015-05-14 10:06:52