diff options
Diffstat (limited to 'lib/set.rb')
-rw-r--r-- | lib/set.rb | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/set.rb b/lib/set.rb index d98cc0b0be..cc068f0a52 100644 --- a/lib/set.rb +++ b/lib/set.rb @@ -27,14 +27,21 @@ # 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. # +# Set uses Hash as storage, so you must note the following points: +# +# * Equality of elements is determined according to Object#eql? and +# Object#hash. +# * Set assumes that the identity of each element does not change +# while it is stored. Modifying an element of a set will render the +# set to an unreliable state. +# * When a string is to be stored, a frozen copy of the string is +# stored instead unless the original string is already frozen. +# # == Comparison # # The comparison operators <, >, <= and >= are implemented as |