【Ruby3.x】Integer::===()メソッドの使い方
===メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
===メソッドは、自身が保持する数値と引数で与えられた値が等しいかどうかを判定するメソッドです。Rubyの===演算子は、一般的な等価比較を行う==演算子とは異なり、主にcase文のwhen節でパターンマッチングのような比較を行う際に使用されます。この===演算子は、クラスによってその振る舞いが定義されており、例えばRangeクラスでは値が範囲内に含まれるかを判定し、Regexpクラスでは文字列が正規表現にマッチするかを判定するなど、多岐にわたります。
しかし、Integerクラスにおける===メソッドは、特別なパターンマッチングを行うわけではなく、実際には==メソッドと同じ動作をします。つまり、Integerオブジェクトと、比較対象となる別の値が数値として全く同じである場合にtrueを返し、そうでなければfalseを返します。
例えば、case文でIntegerオブジェクトに対して===を使用する場合、when節に指定された数値と、caseの対象となる数値が完全に一致するかどうかを確認します。これにより、特定の数値が条件に合致するかどうかを効率的に判定できるため、コードの可読性を高めることができます。したがって、Integer#===は、数値の厳密な等価性を判定し、特にcase文において条件分岐を簡潔に記述するのに役立つメソッドであると理解してください。
構文(syntax)
1Integer === 5
引数(parameters)
other
- other: 比較対象のオブジェクト
戻り値(return)
Boolean
Integer#=== は、整数が指定された範囲または値と一致するかどうかを判定し、真偽値 (true または false) を返します。