Я только начал изучать Ruby и Ruby on Rails и наткнулся на код проверки, который использует диапазоны:
validates_inclusion_of :age, :in => 21..99
validates_exclusion_of :age, :in => 0...21, :message => "Sorry, you must be over 21"
Сначала я подумал, что разница заключается во включении конечных точек, но в документации по API, которую я изучал, не имело значения, было ли это ..
или ...
: конечные точки всегда включались.
Тем не менее, я провел некоторое тестирование в irb, и мне показалось, что он ..
включает обе конечные точки, но ...
включал только нижнюю границу, но не верхнюю. Это верно?
(1..10).include? 10 #=> true
и(1...10).include? 10 #=> false