こんにちは、阿部です。
 また質問させていただきます。


 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        (研究室)