初めて知った <=> UFO演算子。
ruby-listのMLで若干話題*1になっていました。<=>(UFO演算子)
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/47414
UFO演算子って何?
A <=> B とすると、
A < Bならば負の数を返し、
A > Bならば正の数を返し、
AとBが等しければ0を返します。
UFO演算子はてんびんみたいなもの
Comparableモジュール
比較演算を許すクラスのための Mix-in。このモジュールをインクルー ドするクラスは、基本的な比較演算子である <=> 演算子を定義してい る必要があります。他の比較演算子はその定義を利用して派生できます。
Comparableを入れるとどうなるか。
下記のようなことができる。
ary = []
ary << Book.new(.....)
ary << Book.new(.....)
ary << Book.new(.....)
ary.sort.each{ |book|
【ここで本の情報を出力】
}
OOPってすごい。。
*1:Gmailのスレッドがわーってなってました