From: 中村暁史 Nakamura Akifumi <BXQ04723 / nifty.ne.jp> Subject: [ruby-list:20948] Re: Hash#update について Date: Wed, 23 Feb 2000 03:01:25 +0900 るびきちです。 > updateって一律全部updateしちゃうからupdateっていう > (日本語になってないぞ俺)ようなきがします。 だよね〜 > #やっぱり名前は大事だ… うんうん、だけどいい名前を決めるのは難しい。 いい命名規則ってないのかな?? つーことでとりあえずさささ〜って書いてみた。 #!/usr/bin/ruby =begin Hash#merge(y){|x,y| ...} =end class Hash def merge(y) y.keys.each do |key| if self.key? key then self[key] = yield(self[key], y[key]) else self[key] = y[key] end end self end end if __FILE__ == $0 then x = {1=>2, 3=>4, 5=>6} y = {1=>5, 3=>2, 10=>10} p x.merge(y) {|a, b| if a >= b then a else b end } # => {5=>6, 1=>5, 3=>4, 10=>10} end るびきち☆