Ich habe gerade angefangen, Ruby und Ruby on Rails zu lernen, und bin auf Validierungscode gestoßen, der Bereiche verwendet:
validates_inclusion_of :age, :in => 21..99
validates_exclusion_of :age, :in => 0...21, :message => "Sorry, you must be over 21"
Zuerst dachte ich, der Unterschied liege in der Einbeziehung von Endpunkten, aber in den API-Dokumenten, die ich mir angesehen habe, schien es egal zu sein, ob es sich um Endpunkte handelte ..
oder nicht ...
: Es enthielt immer die Endpunkte.
Ich habe jedoch einige Tests in irb durchgeführt und es schien darauf hinzudeuten, dass ..
beide Endpunkte enthalten sind, während ...
nur die Untergrenze, nicht aber die Obergrenze enthalten ist. Ist das richtig?
(1..10).include? 10 #=> true
und(1...10).include? 10 #=> false