Issue #10270 has been updated by Yukihiro Matsumoto. Status changed from Open to Feedback 1. I am not sure #insert is the best name for non clobbering merge. 2. do you know merge takes a block to resolve key conflict? h.merge(h2) {|key,v1,v2|v1} works as your proposed #insert. Matz. ---------------------------------------- Feature #10270: Hash#insert https://bugs.ruby-lang.org/issues/10270#change-49030 * Author: Atlas Prime * Status: Feedback * Priority: Normal * Assignee: * Category: core * Target version: ---------------------------------------- Hash doesn't appear to have a "safe" way to insert an entry that won't clobber another key if it is already there. So how about: ~~~ class Hash # Like Hash#store but only stores if the key isn't already # in the hash. Returns true if inserted, otherwise false. # def insert(name, value) if key?(name) false else store(name,value) true end end end ~~~ -- https://bugs.ruby-lang.org/