Це песимістичне обмеження версії . 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 є прийнятною. Верхньої межі немає.
~>
вимоги до версії .