From: Matsuo Hisanori Date: 2000-03-08T11:39:50+09:00 Subject: [ruby-dev:9404] Re: Hash.new('') 松尾です。 Shin-ichiro Hara wrote: > 結局 [] を再定義するのと変わらなかったりして。つまりは、特異メソッドを定 > 義しろって事になるのかな。 > > ahash = {} > def ahash.[](key); include?(key) ? super : []; end う〜ん、なるほど…。僕的にはこれで解決です。ありがとうございました。 -- 結構な数の人が悩んだしこれからも悩むのだろうから、マニュアルか何処かに ヒントとして書いておいて良いかも。 「キーに関連する値が存在しない時の値を制御したい場合は、 以下の様に特異メソッドを定義すると良い」 みたいな。