1から6までの数値が含まれているかいないかというのを書く場合
おそらく多くの人が
(1..6).include?(3)
#=> true
(1..6).include?(9)
#=>false
というように書くと思います。
でこの範囲オブジェクトがなんと日付でも使えたという!
恥ずかしながら私、最近初めて知りました。
例えば・・・
time = (Time.now - 10.days)..(Time.now)
#=> Fri Aug 02 13:54:51 +0900 2013..Mon Aug 12 13:54:51 +0900 2013
とすると
time.end
#=> Mon Aug 12 13:54:51 +0900 2013
time.begin
#=> Fri Aug 02 13:54:51 +0900 2013
さらに・・・
time.include?(Time.now)
#=> false
time.include?(Time.now - 3.days)
#=> true
時間単位でもできちゃう!
hours = (1.hour)..(3.hour)
#=> 3600 seconds..10800 seconds
hours.include?(1.hour)
#=> true
hours.include?(4.hour)
#=> false
おらおら日付でもできちゃうぜ!!
days = (1.days)..(5.days)
#=> 1 day..5 days
days.include?(2.days)
#=> true
days.include?(6.days)
#=> false
おおおお!スゴイです!!
こんなことができるのを知らないでいたなんで!!!
無限の可能性を感じてきたぞ・・・