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

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

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

作成日: 更新日:

基本的な使い方

<=>メソッドは、レシーバーである数値と引数に渡された別の数値を比較し、その大小関係を判定するメソッドです。主に「宇宙船演算子」とも呼ばれ、三方比較を行います。

このメソッドは、2つの数値を比較した結果を整数で返します。レシーバーが引数よりも小さい場合は -1 を、レシーバーと引数が等しい場合は 0 を、レシーバーが引数よりも大きい場合は 1 を返します。もし比較できない値が引数として渡された場合は、nil を返します。

例えば、5.<=>10 のように使用すると、5は10より小さいため -1 が返されます。10.<=>5 では 1 が返され、5.<=>5 では 0 が返されます。このように、数値を比較して結果を数値で得ることで、大小関係を明確に判断することができます。

Numericクラスに定義されているこの三方比較の仕組みは、特に数値のリストや配列を昇順や降順に並べ替える際(ソート処理など)に非常に役立ちます。Rubyの他のデータ型でも同様の比較メソッドが定義されることがありますが、Numericクラスのこのメソッドは数値の比較における標準的な動作を提供し、プログラム内で数値データの順序を決定する際の基本的なツールとして機能します。

構文(syntax)

11 <=> 2

引数(parameters)

other

  • other: 比較対象となる数値を指定します

戻り値(return)

Integer | nil

2つの数値を比較した結果を整数またはnilで返します。一方の数値がもう一方より大きい場合は1、等しい場合は0、小さい場合は-1を返します。比較できない場合はnilを返します。

関連コンテンツ

関連プログラミング言語