Rubyで文字列を比較する方法:eql?, equal?, ==, ===

今回はRubyにおける文字列の比較について解説します。

文字列の比較

Rubyで文字列を比較する時はeql?equal?=====を使用します。

ではどう使い分ければ良いのでしょうか。

eql?

eql?は同値性を比較します。

文字列の内容が変わらなければtrueを返します。

主にハッシュ内でのキーが同一かどうかの判断に用いられます。

例:

==

==はeql?と同様に同値性を比較するものです。

例:

===

===はほぼ==と同様の性質を持っています。

暗黙的にcase文においてテストする際使用されています。

equal?

equal?は同一性を比較しています。

文字列の内容が一緒でも、異なるオブジェクトであればfalseを返します。

例:

まとめ

このように比較においても様々な使い分けがあります。

注意して使い分けましょう。


Welcome to UX MILK

UX MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。

このサイトについて

UX MILKのディレクター募集