スペースシップ演算子について

スペースシップ演算子(<=>)を初めて知りました。

巷では、宇宙演算子とも呼ばれているようです。

具体的な動作を見てみましょう。

役割

左辺の値が右辺よりも小さければ負の数、等しければ0、大きければ正の数を返す

基本的な動作です

100 <=> 10    => 1
100 <=> 100   => 0
100 <=> 1000  => -1

ソートする例

%w(Good_morning Hello Goodbye).sort { |a, b| a.length <=> b.length }
=> ["Hello", "Goodbye", "Good_morning"]

まとめ

ソートを用いる比較をしたい場合に使ってみましょう。