【问题标题】:What does the ~> operator mean? [duplicate]~> 运算符是什么意思? [复制]
【发布时间】:2010-09-11 20:15:39
【问题描述】:

可能重复:
Meaning of ~> in version requirement

我经常偶然发现 ~> 运算符。

例如。

gem 'httparty', '~> 0.5.2'

什么意思?

【问题讨论】:

  • 你的题目和问题的第一行和例子不一样!您的问题是关于哪个运营商的?我的答案是关于 gem 依赖项中使用的 ~> 运算符。
  • @Jörg:您是否进行了手动搜索?人们如何找到重复项?
  • 在这种特殊情况下,我知道我 a) 自己回答了这个问题,并且 b) 在答案中使用了 悲观版本约束 这两个词,所以我只是搜索了 @ 987654323@ 在搜索框中。在更一般的情况下,我只是简单地阅读(或至少略读)StackOverflow 上的每个 Ruby 问题,因此我至少简要地浏览了 13000 个问题中的每一个问题至少一次,我记得哪些问题已经被问过并且回答。
  • 问题是StackOverflow的搜索不允许你搜索~>(或=~||&&===||=&&= ,这是一遍又一遍地重复的问题的其他示例),因此找到它们的唯一方法是知道它们被称为什么,这基本上意味着为了找到您问题的答案,您必须知道你的问题的答案。不幸的是,修复搜索似乎是一个相当低的优先级。这就是为什么标记和关闭这些问题以巩固答案很重要的原因。

标签: ruby rubygems


【解决方案1】:

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

【讨论】:

  • 似乎链接已损坏。这是有关此想法的最新页面。 guides.rubygems.org/patterns在文档中搜索悲观版本控制即可快速找到。
【解决方案2】:

表示任何版本 >= 0.5.2 和

Yehuda Katz 最近写了这篇文章 - http://yehudakatz.com/2010/08/21/using-considered-harmful-or-whats-wrong-with/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-16
    • 2011-04-01
    • 1970-01-01
    • 2017-11-01
    • 2013-07-30
    • 1970-01-01
    • 2017-02-26
    • 2012-01-04
    相关资源
    最近更新 更多