นั่นเป็นข้อ จำกัด ในแง่ร้ายรุ่น RubyGems จะเพิ่มตัวเลขสุดท้ายในเวอร์ชันที่ให้มาและใช้ตัวเลขนั้นจนกว่าจะถึงเวอร์ชันสูงสุด ดังนั้นจึง~>0.8.5
มีความหมายเทียบเท่ากับ:
gem "cucumber", ">=0.8.5", "<0.9.0"
วิธีง่ายๆในการคิดก็คือคุณโอเคกับตัวเลขสุดท้ายที่เพิ่มขึ้นเป็นค่าตามอำเภอใจ แต่ตัวเลขที่อยู่ข้างหน้าในสตริงต้องไม่มากกว่าที่คุณระบุไว้ ดังนั้น~>0.8.5
ค่าใด ๆ จึงเป็นที่ยอมรับสำหรับหลักที่สาม (5) โดยมีค่ามากกว่าหรือเท่ากับ 5 แต่ 0.8 นำหน้าต้องเป็น "0.8"
ตัวอย่างเช่นคุณอาจทำเช่นนี้หากคุณคิดว่าเวอร์ชัน 0.9 กำลังจะนำการเปลี่ยนแปลงบางอย่างมาใช้ แต่คุณรู้ว่าชุดรีลีส 0.8.x ทั้งหมดเป็นเพียงการแก้ไขข้อบกพร่อง
อย่างไรก็ตามการใช้เพียงแค่">=0.8.5"
ระบุว่าเวอร์ชันใด ๆ ที่ช้ากว่า (หรือเท่ากับ) 0.8.5 นั้นยอมรับได้ ไม่มีขอบเขตบน
~>
ในความต้องการของรุ่น