From: Nikolay Pavlov Date: 2007-09-12T02:57:17+09:00 Subject: alter_key function for Hash Hallo all. Of course i am reinventing the wheel, but may be that would be helpful for some one. With this method you can replace a key with a new one in a Hash. It could be helpful for example if you want to parse a lot of XML documents in hash from various external sources in one Library, so that you can handle a unified interface. class Hash # Replace an old key with a new one # # === Arguments: # * old_key # * new_key def alter_key(old_key, new_key) raise IndexError.new("key already exist") if self[new_key] if self.has_key?(old_key) self[new_key] = self[old_key] self.delete(old_key) end return self end end irb(main):006:0> hash = Hash.new => {} irb(main):007:0> hash[:old] = 10000 => 10000 irb(main):008:0> hash.alter_key(:old, :new) => {:new=>10000} irb(main):009:0> hash[:new] => 10000 -- ====================================================================== - Best regards, Nikolay Pavlov. <<<----------------------------------- ======================================================================