Acabo de comenzar a aprender Ruby y Ruby on Rails y encontré un código de validación que usa rangos:
validates_inclusion_of :age, :in => 21..99
validates_exclusion_of :age, :in => 0...21, :message => "Sorry, you must be over 21"
Al principio pensé que la diferencia estaba en la inclusión de puntos finales, pero en los documentos de API que miré, no parecía importar si era ..
o ...
: siempre incluía los puntos finales.
Sin embargo, hice algunas pruebas en irb y pareció indicar que ..
incluye ambos puntos finales, mientras que ...
solo incluía el límite inferior pero no el superior. ¿Es esto correcto?
(1..10).include? 10 #=> true
y(1...10).include? 10 #=> false