From: Michael Edgar Date: 2011-08-02T16:54:22+09:00 Subject: [ruby-core:38698] [Ruby 1.9 - Feature #5123] Alias Hash 1.9 as OrderedHash Issue #5123 has been updated by Michael Edgar. As a corollary, for a few months I had one portion of my code which used Sets, and relied on the fact that Sets in 1.9 retain their order because they in turn use a Hash. The only real way I could document this requirement was to put comments in capital letters in the relevant portions of code so that I didn't forget that I relied on this behavior. If I had been creating "OrderedSets" (though this sounds too close to SortedSet despite meaning something different), and OrderedSets use an OrderedHash, then it would have been clear in the code that insertion order was preserved, especially for developers new to 1.9. I like this idea. ---------------------------------------- Feature #5123: Alias Hash 1.9 as OrderedHash http://redmine.ruby-lang.org/issues/5123 Author: Alexey Muranov Status: Assigned Priority: Normal Assignee: Yukihiro Matsumoto Category: Target version: I read that it was a controversial decision to make Hash in Ruby 1.9 ordered. It is not clear if the present implementation is the best possible. I would like to express my thought. It would be nice if the ordered Hash in Ruby 1.9 was aliased as OrderedHash. That way people who rely on preserving the insertion order in some application (me, for example) could explicitly use OrderedHash, and developers of Ruby would be free to redefine Hash in future versions if a better implementation that a doubly-linked circular list is found. (I read something about a possibility of using "red���black tree".) Thanks. Alexey Muranov. -- http://redmine.ruby-lang.org