Я щойно почав вивчати Ruby і Ruby на 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