Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Stringクラス > eql?

instance method String#eql?

eql?(other) -> bool[permalink][rdoc]

文字列の内容が文字列 other の内容と等しいときに true を返します。 等しくなければ false を返します。

このメソッドは文字列の内容を比較します。 同一のオブジェクトかどうかを比較するわけではありません。 つまり、"string".eql?(str) という式を実行した場合には、 str が "string" という内容の文字列でありさえすれば常に true を返します。 同一のオブジェクトであるかどうかを判定したいときは Object#equal? を使ってください。

アルファベットの大文字小文字を無視して比較したい場合は、String#upcase, String#downcase で大文字小文字を揃えてから比較してください。

Hash クラス内での比較に使われます。

[PARAM] other:
任意のオブジェクト
[RETURN]
true か false

例:

p "string".eql?("string")  # => true
p "string".eql?("STRING")  # => false
p "string".eql?("")        # => false
p "".eql?("string")        # => false

p "string".eql?("str" + "ing")   # => true   (内容が同じなら true)
p "string".eql?("stringX".chop)  # => true   (内容が同じなら true)

p "string".upcase.eql?("String".upcase)     # => true
p "string".downcase.eql?("String".downcase) # => true

[SEE_ALSO] Hash, String#<=>, String#casecmp, String#==