Bug #82 [ruby-reference-manual:859]
頭山な集合における Set#include?
| Status : | Open | Start : | 03/13/2008 | |
| Priority : | Low | Due date : | ||
| Assigned to : | - | % Done : | 0% |
|
| Category : | doc | |||
| Target version : | - | |||
| reporter : | rock |
ruby_version : | 1.9 |
|
Description
Set#include? の説明に オブジェクト o がその集合に属する場合に true を返します。 とありますが,Ruby 1.9 ではもう少し説明が必要そうです。 Ruby 1.9 でハッシュの実装が変わったためか,Set#include? の動作が ruby 1.8 と違う場合があります。 具体的には,集合が自身を含む場合や,二つの集合が互いを含む場合に(つまり頭山な集合において), 以下のように false を返すようです。 s=Set[] s << s p s.include?(s) #=> false s1=Set[] s2=Set[] s1 << s2 p s1.include?(s2) # => true s2 << s1 p s1.include?(s2) # => false なお,試した Ruby のバージョンは「ruby 1.9.0 (2007-12-25 revision 14709) [i386-mswin32]」です。