Ruby で楽に範囲のチェックをする

範囲のチェックをする時に、

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

© 2023 暇人じゃない. All rights reserved.