Rubyリファレンス: Home

<=> (Array)

Edit   History

標準クラス・モジュール > Array > <=>

array <=> other_array

<=>演算子(メソッド)は、2つの配列の順序を調べます。戻り値が-1なら左辺arrayが先、0なら同じ、1ならother_arrayが先です。

比較のしかたは、次の通りです。2つの配列の要素を先頭から順に<=>演算子で調べていき、<=>が0以外の値を返したときは、そこで比較を中断してその値を返します。どちらかの配列の末尾に達したときは、サイズが短いほうの配列が先になります。すべての要素で<=>が0を返し、配列サイズも同じときは0を返します。

左辺の配列の中に<=>を持たない要素があるときは例外NoMethodErrorが発生します。

arr1 = [1, 2, 3, 4]
arr2 = [1, 2, 4, 4]
arr3 = [1, 2, 3]
arr4 = [1, 2, 3, 4]
 
puts arr1 <=> arr2
puts arr1 <=> arr3
puts arr1 <=> arr4
-1
1
0