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)
proper_subset?

proper_subset?(set) Instance Public methods Returns true if the set is a proper

2015-05-14 10:22:38
size

size() Instance Public methods Returns the number of elements.

2015-05-14 10:44:45
proper_superset?

proper_superset?(set) Instance Public methods Returns true if the set is a proper

2015-05-14 10:29:11
delete_if

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

2015-05-14 09:19:08
&

&(enum) Instance Public methods Returns a new set containing elements common

2015-05-14 08:05:49
divide

divide(&func) Instance Public methods Divides the set into a set of subsets

2015-05-14 09:27:39
^

^(enum) Instance Public methods Returns a new set containing elements exclusive

2015-05-14 08:39:39
delete?

delete?(o) Instance Public methods Deletes the given object from the set and

2015-05-14 09:17:18
>

>(set) Instance Public methods Alias for:

2015-05-14 08:33:41
union

union(enum) Instance Public methods Alias for:

2015-05-14 11:11:37