こんにちは、阿部です。
また質問させていただきます。
ruby 1.6.4 (cygwin) を使っています。
Hash の中に Hash を格納しようとして、次のようなことになりました。
$ ruby -e 'a={1=>2}; b={1=>2}; c={}; c[a]=a; c[b]=b; p c'
{{1=>2}=>{1=>2}, {1=>2}=>{1=>2}}
わたしとしては、
{{1=>2}=>{1=>2}}
が結果になってくれた方が良いと思うのですが…。
この場合は同じものを入れていますが、異なる値を設定するときに期待通り
の動作をしないような気がします。
ちなみに、これは Hash を継承したクラスで
def eql? (object) self == object end
とメソッドを定義したら解消しました。
意図的にこのような仕様にしているのでしょうか。
--------
阿部 茂 (Black)
Homepage : http://homepage1.nifty.com/blackpoint/
e-mail : shiger-a / nifty.com (@nifty)
abe / mi.cs.titech.ac.jp (研究室)