気軽に楽しくプログラムと遊ぶ

自分が興味があってためになるかもって思う情報を提供しています。

Ruby Comparableモジュールの概要をつかむ

Comparableモジュールとは

  • 比較演算を行うクラスのためのモジュール
  • <=>演算子を定義している必要がある
  • <、<=、>、>=の各演算子メソッド)を提供する
  • Bignum,String,Timeクラスなどの<、<=、>、>=は、Comparableのメソッド

比較結果値の返却方法

obj < other
obj <= other
obj > other
obj >= other

<、<=、>、>=の4つの演算子はレシーバーの<=>演算子を呼び出して、次のように値を返却。

 < : <=>が負の値を返せばtrue、そうでなければfalse。
 <= : <=>が負の値か0を返せばtrue、そうでなければfalse。
 > : <=>が正の値を返せばtrue、そうでなければfalse。
 >= : <=>が正の値か0を返せばtrue、そうでなければfalse。

参考URL

module Comparable (Ruby 1.9.3)