From: "5.5" <5.5@...> Date: 2008-03-04T23:21:14+09:00 Subject: [ruby-list:44725] Set[Set[1]]==Set[Set[1]] は偽? 5.5 です。 set ライブラリについての疑問です。 Set[Set[1]]==Set[Set[1]] は false を返します。 これは,Set が要素の同一性の判定に eql? を使っており,Set#eql? はハッシュ値の一致を見ているからですよね。 でも真を返してほしいです。 まったく同じ話ですが,Set[Set[1], Set[1]] で作った集合は要素数 が 2 になります。 でもこの集合は Set[Set[1]] と同じであってほしいです。 集合の要素が集合だったとき,その同一性の判定を Set#== でやるわ けにはいかないのでしょうか。 現状の仕様がこうなっているのは何か理由があるのでしょうが,では Set[Set[1]] と Set[Set[1]] が同一となるような同一性判定はどの ようにすればよいでしょうか。 -- 5.5@moji.gr.jp