Ho appena iniziato a imparare Ruby e Ruby on Rails e mi sono imbattuto in codice di convalida che utilizza intervalli:
validates_inclusion_of :age, :in => 21..99
validates_exclusion_of :age, :in => 0...21, :message => "Sorry, you must be over 21"
All'inizio pensavo che la differenza fosse nell'inclusione degli endpoint, ma nei documenti API che ho esaminato, non sembrava importare se fosse ..
o ...
: includeva sempre gli endpoint.
Tuttavia, ho eseguito alcuni test in irb e sembrava indicare che ..
include entrambi gli endpoint, mentre ...
includeva solo il limite inferiore ma non quello superiore. È corretto?
(1..10).include? 10 #=> true
e(1...10).include? 10 #=> false