1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/set.rb: [DOC] Add a couple of notes on Hash as storage.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
knu 2013-07-31 05:58:17 +00:00
parent b426f8ebb5
commit a5c8e0861f
2 changed files with 14 additions and 3 deletions

View file

@ -1,3 +1,7 @@
Wed Jul 31 14:41:36 2013 Akinori MUSHA <knu@iDaemons.org>
* lib/set.rb: [DOC] Add a couple of notes on Hash as storage.
Wed Jul 31 14:38:52 2013 Akinori MUSHA <knu@iDaemons.org>
* lib/set.rb: [DOC] Fix example result. Hash is now ordered.

View file

@ -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