class Set

This library provides the Set class, which implements a collection of unordered values with no duplicates. It is a hybrid of Array’s intuitive inter-operation facilities and Hash’s fast lookup.

The method ‘to_set` is added to Enumerable for convenience.

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.

Set uses Hash as storage, so you must note the following points:

## Comparison

The comparison operators ‘<`, `>`, `<=`, and `>=` are implemented as shorthand for the {proper_,}{subset?,superset?} methods. The `<=>` operator reflects this order, or return `nil` for sets that both have distinct elements (`{x, y}` vs. `{x, z}` for example).

## Example

“‘ruby require ’set’ s1 = Set[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: {1, 2, “foo”, 6}> s1.subset?(s2) #=> false s2.subset?(s1) #=> true “‘

## Contact

## What’s Here

First, what's elsewhere. \Class \Set:

In particular, class Set does not have many methods of its own for fetching or for iterating. Instead, it relies on those in Enumerable.

Here, class Set provides methods that are useful for:

### Methods for Creating a Set

### Methods for Set Operations

### Methods for Comparing

### Methods for Querying

### Methods for Assigning

### Methods for Deleting

### Methods for Converting

\#flatten!:
 Replaces each nested set in +self+ with the elements from that set.

### Methods for Iterating

### Other Methods