Effective Rubyの勉強メモです。
13章はUFO演算子とComparableモジュールについてです。
この二つは以前記事にしたことがあるのでササっと流していきます。
簡単に言うと、UFO演算子(<=>)を定義するだけでsortやminメソッドが使えるようになります。
UFO演算子は自由に実装していいわけではなく、次のルールを守る必要があります。
比較できないときはnilを返す
レシーバ(演算子の左側)が小さいときは-1を返す
逆にレシーバが大きいときは1を返す
等しいときは0を返す
何をもって大きい小さい等しいのかは自分で決める必要があります。
続きを読む