【Ruby3.x】TrueClass::^()メソッドの使い方
^メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
メソッドは、レシーバであるtrueと引数のオブジェクトの間で排他的論理和(XOR)の計算を実行するメソッドです。排他的論理和とは、二つの値のうちどちらか一方だけが真(true)の場合に真となり、両方が真または両方が偽(false)の場合に偽となる論理演算です。この^メソッドは、Rubyの組み込みクラスであるTrueClassに属しており、trueという唯一のインスタンスから呼び出すことができます。
具体的には、trueに対して他のオブジェクトを^演算子で結合した場合、引数のオブジェクトが論理的に真と評価されれば、結果はfalseになります。これは、trueとtrueの排他的論理和がfalseとなるためです。反対に、引数のオブジェクトが論理的に偽と評価されれば、結果はtrueになります。これは、trueとfalseの排他的論理和がtrueとなるためです。
Rubyでは、nilとfalseのみが論理的に偽と評価され、それ以外の全てのオブジェクトは論理的に真と評価されます。したがって、例えばtrue ^ nilはtrueを返し、true ^ falseもtrueを返します。一方で、true ^ trueやtrue ^ "some_string"のように、引数が真と評価される場合はfalseを返します。このメソッドは、条件分岐や論理演算を伴う処理において、特定の論理的な状態を比較したり、反転させたりする際に役立ちます。
構文(syntax)
1true ^ false
引数(parameters)
other
- other: 比較対象となる真偽値(TrueまたはFalse)
戻り値(return)
Boolean
^ メソッドは、レシーバー(TrueClass のインスタンス)が true で、かつ引数が true でない場合に true を返します。それ以外の場合は false を返します。