【Ruby3.x】Symbol::===()メソッドの使い方
===メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
===メソッドは、シンボルが別のオブジェクトと等しいかどうかを判定するメソッドです。
このメソッドは、Rubyにおいてcase文の条件判定で特に利用される「ケース等価演算子」として機能します。Symbolクラスの場合、===メソッドは、対象となるシンボルが、比較対象のオブジェクトと完全に同じ値を持つ別のシンボルである場合にのみtrueを返します。それ以外の場合はfalseを返します。これは、通常の等価演算子である==メソッドと全く同じ動作をします。
例えば、:apple === :appleという式はtrueとなり、:apple === :orangeという式はfalseとなります。プログラム内で特定の名前や識別子として使われるシンボルは、その一意性が重要です。case文でシンボルを条件として分岐させる際、この===メソッドが内部的に呼び出され、シンボルの一致を効率的に判断します。これにより、シンボルの値に基づく簡潔で直感的な条件分岐が可能となり、コードの可読性が向上します。シンボル間の厳密な同一性を確認する際に利用される、基本的ながらも重要なメソッドの一つです。
構文(syntax)
1:symbol_name === :symbol_name
引数(parameters)
req
- obj: 比較対象となるオブジェクト
戻り値(return)
Boolean
Symbol#=== は、比較対象が自分自身と等しい場合に真 (true)、そうでない場合に偽 (false) を返します。