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

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

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

作成日: 更新日:

基本的な使い方

<=>メソッドは、自身(レシーバー)と別の配列(引数)を比較し、その相対的な順序を示す整数を返すメソッドです。このメソッドは、配列の要素を左から右へ順に一つずつ比較していきます。各要素の比較には、それぞれの要素が持つ<=>メソッドが利用されます。

比較の結果は以下のいずれかの整数値またはnilとなります。もし、最初に異なる要素が見つかった場合、その要素同士の比較結果が、配列全体の比較結果として返されます。例えば、[1, 2, 3][1, 2, 4]を比較する場合、最初の2つの要素は同じですが、3番目の要素で34より小さいと判断され、全体の比較結果として-1が返されます。

すべての要素が等しい場合、今度は配列の長さが比較されます。両方の配列が同じ長さであれば0(等しい)を返します。レシーバーの配列が引数の配列よりも長い場合は1(レシーバーが大きい)を返し、逆に引数の配列の方が長い場合は-1(レシーバーが小さい)を返します。

もし配列の要素の中に、互いに比較できない型(例えば、文字列と数値を直接比較しようとするなど)が含まれる場合、このメソッドはnilを返します。このメソッドは、配列をソートする際などに内部的に利用され、配列間の順序付けを決定するのに役立ちます。

構文(syntax)

1[1, 2, 3] <=> [1, 2, 4]

引数(parameters)

req

  • other: 比較対象の配列

戻り値(return)

Integer or nil

2つの配列を比較します。最初の配列が2番目の配列より小さい場合は-1、等しい場合は0、大きい場合は1を返します。比較できない場合はnilを返します。

関連コンテンツ

関連プログラミング言語