このマニュアルは既にメンテナンスが終了したバージョンの Ruby を対象としています。 最新版のマニュアルへ

Ruby 3.2 リファレンスマニュアル

instance method Set#compare_by_identity

compare_by_identity -> selfRuby 3.0 から[permalink][rdoc][edit]

集合の要素の一致判定をオブジェクトの同一性で判定するように変更します。

デフォルトでは、要素の内容が Object#eql? で等しければ同じ要素とみなされますが、より厳密に Object#object_id が一致しているかどうかを条件とするように self を変更します。

self が変化する破壊的メソッドです。

[RETURN]
self を返します。
s1 = Set["a", "b"]
a  = "a"

p s1.compare_by_identity? # => false
p s1.include?(a)          # => true

s1.compare_by_identity

p s1.compare_by_identity? # => true
p s1.include?(a)          # => false
p s1.include?("a")        # => false

[SEE_ALSO] Set#compare_by_identity?, Hash#compare_by_identity