【Ruby3.x】NilClass::===()メソッドの使い方
===メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
===メソッドは、nilという特別なオブジェクトが、与えられた別のオブジェクトと特定の条件で比較を行い、その結果を真偽値で返すメソッドです。
Rubyでは、nilは「何もない」ことを表す唯一のオブジェクトであり、変数が値を持たない状態や、メソッドが有効な結果を返さない場合などに使用されます。このNilClassに定義されている===メソッドは、nilをレシーバとして呼び出された際、引数として渡されたオブジェクトがnilである場合にのみtrueを返します。引数がnil以外の、たとえば数値や文字列、あるいは他のオブジェクトであったとしても、常にfalseを返します。
この挙動は、主にcase文での条件分岐に利用されます。case文では、when節に記述された値と、caseの条件式の結果との間で内部的に===メソッドが呼び出されます。したがって、when nilと記述することで、式の結果がnilであるかどうかを簡潔に判定することができます。例えば、case 変数; when nil; # 変数がnilの場合の処理; endのように使うことで、変数がnilである場合の処理を明確に記述できるため、プログラムの可読性を高めるのに役立ちます。このメソッドは、nilであるという厳密な条件を判定したい場面で利用されます。
構文(syntax)
1nil === other_object
引数(parameters)
req
- object: 比較対象のオブジェクト
戻り値(return)
Boolean
NilClass の === メソッドは、比較対象が nil である場合に true を、それ以外の場合に false を返します。