Hi,

In message "Re: [ruby-core:18370] [Feature #474] Hash#<<"
    on Sat, 23 Aug 2008 05:35:06 +0900, Anonymous <redmine / ruby-lang.org> writes:

|To recap, the idea is:
|
|  h = Hash.new
|  h << [:a, 1]
|  h << [:b, 2]
|  h #=> {:a=>1, :b=>2}
|
|This creates a polymorphism between associative arrays and hashes, which ultimately could be useful to mixins. And now that Hash supports insertion order too, it makes further sense. There was a particular usecase exemplified in the fore-mentioned thread. But since I can't find it I can't show it here. I just recall thinking it was compelling. Perhaps other's can recall?

Unlike Smalltalk's Dictionaries, Hashes in Ruby does not provide the
illusion of being sequence of association.  So the proposed new method
makes less sense in Ruby.

Besides that, Associative Arrays (which has normal array methods) and
hashes cannot behave polymorphic.

							matz.