Bug #82

頭山な集合における Set#include?

Added by Ken DATE over 3 years ago. Updated 9 months ago.

[ruby-reference-manual:859]
Status:Open Start date:03/13/2008
Priority:Low Due date:
Assignee:Masahiro Kawato % 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]」です。

History

Updated by 5 5 almost 2 years ago

  • Assignee set to Masahiro Kawato

Also available in: Atom PDF