Ruby 初心者スレッド Part 48
■ このスレッドは過去ログ倉庫に格納されています
0446デフォルトの名無しさん
2012/03/16(金) 15:00:28.54オブジェクト指向言語における「おなじ」は、大別して3つある
その1、オブジェクトIDが同一
その2、データとして同一(オブジェクトIDは違う)
その3、データとしては違うんだが利便性を鑑みて同じとみなす
その1はObject#equal?がある
irb> p "a".equal?("a")
false
irb> s = "a"; p s.equal?(s)
true
その2は==メソッドやeql?メソッドで、クラスごとに定義が違うことがある
irb> p "a" == "a"
true
その3はなんでもいいんだが、公式にはcase用の===メソッドが該当する
irb> p /a/ === "a"
true
irb> p (1..3) === 2
true
さて、Array#include? で使用すべきなのはどれ?
■ このスレッドは過去ログ倉庫に格納されています