あづみです。 ABE Shigeru <shiger-a / nifty.com> wrote: > ちなみに、これは Hash を継承したクラスで > > def eql? (object) self == object end > > とメソッドを定義したら解消しました。 これだけで上手くいきますか? Hash#hash を置き換えないとだめだと思うのですけれど。 class HashEX < Hash def eql?(obj) self == obj end def hash self.inspect.hash end end とか。 # でもこんなことしてなんか弊害ないんかなぁ > 意図的にこのような仕様にしているのでしょうか。 というかむしろ Numeric や String の方が特別な気が。 inspect した見た目が同じなら中身全部同じというわけではないですから。 a = [1,1] b = {1=>[1,1]} c = {1=>a} p b # {1=>[1,1]} p c # {1=>[1,1]} a[1] = 2 p b # {1=>[1,1]} p c # {1=>[1,2]} 安積伸弥 adzumi / denpa.org