Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】TrueClass::^()メソッドの使い方

^メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

メソッドは、レシーバであるtrueと引数のオブジェクトの間で排他的論理和(XOR)の計算を実行するメソッドです。排他的論理和とは、二つの値のうちどちらか一方だけが真(true)の場合に真となり、両方が真または両方が偽(false)の場合に偽となる論理演算です。この^メソッドは、Rubyの組み込みクラスであるTrueClassに属しており、trueという唯一のインスタンスから呼び出すことができます。

具体的には、trueに対して他のオブジェクトを^演算子で結合した場合、引数のオブジェクトが論理的に真と評価されれば、結果はfalseになります。これは、truetrueの排他的論理和がfalseとなるためです。反対に、引数のオブジェクトが論理的に偽と評価されれば、結果はtrueになります。これは、truefalseの排他的論理和がtrueとなるためです。

Rubyでは、nilfalseのみが論理的に偽と評価され、それ以外の全てのオブジェクトは論理的に真と評価されます。したがって、例えばtrue ^ niltrueを返し、true ^ falsetrueを返します。一方で、true ^ truetrue ^ "some_string"のように、引数が真と評価される場合はfalseを返します。このメソッドは、条件分岐や論理演算を伴う処理において、特定の論理的な状態を比較したり、反転させたりする際に役立ちます。

構文(syntax)

1true ^ false

引数(parameters)

other

  • other: 比較対象となる真偽値(TrueまたはFalse)

戻り値(return)

Boolean

^ メソッドは、レシーバー(TrueClass のインスタンス)が true で、かつ引数が true でない場合に true を返します。それ以外の場合は false を返します。

関連コンテンツ