From: "shyouhei (Shyouhei Urabe)" Date: 2012-03-29T21:33:38+09:00 Subject: [ruby-core:43850] [ruby-trunk - Feature #6219] Return value of Hash#store Issue #6219 has been updated by shyouhei (Shyouhei Urabe). Note however, that nobu changed st_update API[1] after I posted that. So it might not apply cleanly to the latest ruby trunk... [1]: http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?revision=35170&view=revision ---------------------------------------- Feature #6219: Return value of Hash#store https://bugs.ruby-lang.org/issues/6219#change-25359 Author: MartinBosslet (Martin Bosslet) Status: Open Priority: Low Assignee: Category: core Target version: Hash#store returns the value that was just assigned, for example: h[:a] = b # => b Does anyone rely on this behavior, are there cases when this becomes handy? If however the return value is discarded most of the time, I was thinking it might be beneficial if we would return the previous value of a given key (nil if none was assigned yet) instead. That way we could assign and check for a collision in one pass, something that right now can only be done in two separate steps. -- http://bugs.ruby-lang.org/