为什么Ruby的Pessimistic Operator被命名为pessimistic?
Why Ruby's Pessimistic Operator is named pessimistic?
我在Rails开始学习Ruby,发现
~>
在 Gemfile 中。我发现
'~> 3.0.3'
表示>= 3.03
和< 3.1
但是有人知道为什么这个操作符被命名为 Pessimistic 吗?悲观是情绪词,我不悲观用这个。
那是因为有一种乐观的方式来指定它:
'>= 2.2.2'
这意味着大于 2.2.2
,甚至 7.0
。现在这可能太乐观了,因为通常情况下,7.0 可能已经与您现有的代码不兼容——我们只想说 "give me the version that is supposedly backward compatible",它是
'~> 2.2'
这意味着,'>= 2.2'
但 < 3.0
,意味着 2.8.123
仍然可以,但不是 3.0
或更高版本,因为 3.0
应该有主要更新并且可能不向后兼容您的代码。所以你有点悲观,因此得名 "pessimistic operator".
我在Rails开始学习Ruby,发现
~>
在 Gemfile 中。我发现
'~> 3.0.3'
表示>= 3.03
和< 3.1
但是有人知道为什么这个操作符被命名为 Pessimistic 吗?悲观是情绪词,我不悲观用这个。
那是因为有一种乐观的方式来指定它:
'>= 2.2.2'
这意味着大于 2.2.2
,甚至 7.0
。现在这可能太乐观了,因为通常情况下,7.0 可能已经与您现有的代码不兼容——我们只想说 "give me the version that is supposedly backward compatible",它是
'~> 2.2'
这意味着,'>= 2.2'
但 < 3.0
,意味着 2.8.123
仍然可以,但不是 3.0
或更高版本,因为 3.0
应该有主要更新并且可能不向后兼容您的代码。所以你有点悲观,因此得名 "pessimistic operator".