範囲のチェックをする時に、
hoge >= min and hoge <= max
と書くのはめんどくさい。
Comparable
module をインクルードしているクラスでは between?
メソッドを使って楽にチェックができる。
between?(min, max)
Fixnum でも使えるし:
1.9.3p194 :228 > 10.between?(1, 10)
=> true
1.9.3p194 :229 > 11.between?(1, 10)
=> false
DateTime でも使える:
1.9.3p194 :230 > DateTime.parse('2012-10-01').between?(DateTime.parse('2012-01-01'), DateTime.parse('2012-12-31'))
=> true
1.9.3p194 :231 > DateTime.parse('2013-01-01').between?(DateTime.parse('2012-01-01'), DateTime.parse('2012-12-31'))
=> false