2010-09-11 113 views
0

可能重复:
Meaning of ~> in version requirement〜>运算符是什么意思?

我经常绊倒在了〜>操作。

例如。

gem 'httparty', '~> 0.5.2' 

这是什么意思?

+0

您的标题和问题的第一行不同于示例!你的问题是哪个操作员?我的答案是关于gem依赖关系中使用的〜>运算符。 – 2010-09-11 20:23:08

+0

@Jörg:你有手动搜索吗?人们如何做到这一点以找到重复的东西? – 2010-09-11 20:48:07

+1

在这个特例中,我知道我a)自己已经回答了这个问题,并且b)在答案中使用了*悲观版本约束*,所以我只是在搜索框中搜索了'user:me [ruby] pessimistic' 。在更一般的情况下,我只是阅读(或至少浏览)StackOverflow上的每个Ruby问题,所以我至少简要地瞥一眼13000个问题中的每一个问题,并且我记得哪些问题已经被问及回答。 – 2010-09-11 22:14:41

回答

3

它被称为pessimistic version constraint。它通过删除最后一位数字并比较相等来匹配宝石版本。例如,~> 0.5.2将匹配版本0.5.2或0.5.3,但不匹配0.5或0.6。它基本上相当于约束条件>= 0.5.2, < 0.6

+0

看起来链接已损坏。这是一个关于这个想法的更新的页面。 http://guides.rubygems.org/patterns/只需搜索文档中的悲观版本控制即可快速找到它。 – 2017-07-07 08:49:43