2009-03-09
■ [ruby] Hash#+, Hash#-
という記事でHash#+, Hash-を定義しているのを見かけたのですが、
>> hoge = {:fuga => "bar" } => {:fuga=>"bar"} >> hoge += {:hige => "baz"} => {:fuga=>"bar", :hige=>"baz"} >> hoge -= :fuga => {:hige=>"baz"}
これなかなか良くないですか?
まあmergeも、「.merge」と書いてあったらレシーバがハッシュだと確実に分かるというメリットがあるんだけど。 型が分かるような変数名を付けていれば混乱しないはず。
+については、重複した時どうするか、という点が、<br>-については、右辺が+と非対称なのはどうなのか、という点が<br>懸念で導入に及び腰です。
なるほど…。やっぱり提案はあるのですね。