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

【Ruby3.x】Complex::<=>()メソッドの使い方

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

作成日: 更新日:

基本的な使い方

<=>メソッドは複素数オブジェクトの比較を実行するメソッドです。RubyのComplexクラスに属しており、主に「宇宙船演算子」とも呼ばれるこのメソッドは、2つのオブジェクトの順序関係を評価するために使用されます。しかし、複素数には実数のようには明確な大小関係が定義されていません。そのため、Complex#<=>メソッドは特殊な動作をします。具体的には、自身(レシーバ)と引数で与えられた複素数の実部が等しく、かつ虚部も等しい場合にのみ0を返します。これは、両者が完全に一致していることを示します。それ以外の場合、つまり実部や虚部のいずれか、または両方が異なる場合には、nilを返します。nilを返すことは、これらの複素数の間に明確な大小関係が存在せず、順序付けができないことを意味します。この動作は、複素数の数学的な性質に基づいています。したがって、Complex#<=>メソッドは、オブジェクトが「等しいか、それ以外か」を判断するために用いられ、大小関係を評価する用途には適していません。

構文(syntax)

1Complex(1, 2) <=> Complex(1, 2)

引数(parameters)

req

  • req: 比較対象の複素数または実数

戻り値(return)

nil

Complexクラスの<=>メソッドは、オブジェクトの比較結果を整数で返します。ただし、複素数同士の比較は定義されていないため、常にnilを返します。

関連コンテンツ

関連プログラミング言語