【Ruby3.x】BasicObject::!=()メソッドの使い方
!=メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
!=メソッドは、2つのオブジェクトが等しくないかどうかを判定するメソッドです。
このメソッドは、a != b の形式で使用され、左辺のオブジェクト a が右辺のオブジェクト b と等しいと評価されない場合に真(true)を、等しいと評価される場合に偽(false)を返します。
!=メソッドは、論理否定演算子 ! と等価演算子 == を組み合わせた !(a == b) と全く同じ意味を持ちます。つまり、==メソッドの評価結果がfalseであればtrueを、trueであればfalseを返します。
このメソッドは、Rubyのすべてのオブジェクトの最上位の親であるBasicObjectクラスに定義されています。そのため、Rubyにおけるあらゆるオブジェクトに対して、等しくないかどうかの比較を行うことができます。
BasicObjectクラスにおける==メソッドのデフォルトの振る舞いは、2つのオブジェクトがメモリ上で同一のオブジェクトであるか(オブジェクトIDが同じか)どうかを比較します。したがって、!=メソッドもデフォルトでは、オブジェクトの同一性に基づいて、異なるインスタンスである場合にtrueを返します。
ただし、StringやNumericなどの多くのサブクラスでは、==メソッドがオブジェクトの「値」が等しいかどうかを比較するようにオーバーライドされています。その場合、!=メソッドもオーバーライドされた==メソッドの否定として、値が等しくないかを判定する役割を果たします。
構文(syntax)
11 != 2
引数(parameters)
req
- obj: 比較対象となるオブジェクト
戻り値(return)
Boolean
自身が指定されたオブジェクトと等しくない場合に真 (true) を返します。等しい場合は偽 (false) を返します。