ฉันเพิ่งเริ่มเรียนรู้ 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