Issue #6737 has been updated by trans (Thomas Sawyer).


> What is wrong with #fetch ?

There's one important differnce, `#fetch` raises an error when a key isn't present, whereas #read returns nil. I worked on the design in pure Ruby, and at first I did try using #fetch, but ultimately concluded it was best to depend on #read and #key?. It's easy enough to write #fetch in terms of the other two, but the other way round involves catching the error that #fetch raises, and that is too inefficient.

----------------------------------------
Feature #6737: Add Hash#read and alias as #[].
https://bugs.ruby-lang.org/issues/6737#change-28135

Author: trans (Thomas Sawyer)
Status: Open
Priority: Normal
Assignee: 
Category: core
Target version: 2.0.0


Just, generally speaking it is nice to have a word named method for things when that suites readability better. Most operators (outside of numerical math, of course) have word equivalents. I actually hope you will accept this request based on this merit alone.

But more specifically this is also related to #6442, "CRUDifying" Hash's design. Adding #read is essentially the first step in doing this. Since #read, being the "R" in CRUD, would be one of the core methods, its preferable to have word-named method to go along with other methods, #store (for create and update) and #delete to act as that foundation.

Obviously there is nothing earth shattering here, just asking for an alias at this point. I'd like to incrementally submit requests/patches to "CRUDify" Hash rather then submit one huge patch as it will be much easier to test and ensure backward compatibility that way.



-- 
http://bugs.ruby-lang.org/