ってなんじゃ
Rubyのインスタンスメソッドに<=>というメソッドがあります。見た時なんじゃコレとか思った。
- <=>
- self と other を ASCII コード順で比較して、 self が大きい時には正の整数、等しい時には 0、小さい時には負の整数を返します。
レシーバはstringからファイルの更新時刻・クラス/モジュールの比較もできるらしい。
ブロック引数を用いて比較する時は、要素同士のブロックを比較する。
irb(main):004:0* a = [5, 2, 6, 1, 19] => [5, 2, 6, 1, 19] irb(main):005:0> a.sort() {|x,y| x<=>y} => [1, 2, 5, 6, 19] irb(main):006:0> a.sort() {|x,y| y<=>x} => [19, 6, 5, 2, 1] irb(main):007:0> a.sort() {|x,y| x<=>x} => [5, 2, 6, 1, 19]