Ruby奇数版本是否稳定并适用于生产?(例如1.9.1,1.9.3)

1 ruby

很多年前我使用过Ruby,希望能留下来.我记得几年前读过Ruby的奇数版本(例如1.9.1,1.9.3,1.9.5)是用于开发的,甚至版本(例如1.9.2,1.9.4)也是生产稳定.这是(仍然)的情况还是最新的"稳定",根据Ruby网站的方式去?

我从未开发过像Ruby这样宏伟的项目,所以我不知道是否有应遵循的版本规则.任何有关这一主题的启示将不胜感激.

谢谢.

Joh*_*hir 5

不,情况并非如此.我认为红宝石不是这种情况.1.8.6和1.8.7被认为是稳定的,1.9.2和1.9.3也是如此.

您可能正在考虑Linux内核,他们就是这样做的.


Jör*_*tag 5

是的,过去奇数发布确实不稳定。(但是,请注意,“奇数”指的是次要编号,而不是微小的编号,即 1.1.x、1.3.x、1.5.x 和 1.7.x 是不稳定的开发版本。)

Ruby 1.9 改变了这一点,原因很简单(也很尴尬):有大量的 Ruby 脚本和 shell 脚本(包括 Ruby 维护者自己用来自动开发、测试和发布 Ruby的脚本)。那里,它简单地假设主要版本是一位数。否则他们会简单地打破,主要是因为他们做了类似的事情

if RUBY_VERSION > '1.6.3'
Run Code Online (Sandbox Code Playgroud)

失败'1.10.0',因为字符串 '1.10.0'是lexicograhically '1.6.3'

因此,决定放弃奇数和偶数版本之间的区别,并制作下一个稳定版本 1.9,因为这比说服每个人他们的脚本已损坏更容易。

因此,1.9.0-x 系列版本对应于编号方案下的 1.9.x (即为下一个版本做准备的一系列开发版本),而 1.9.(x > 0) 系列版本对应于 1.10 .(x-1),即 1.9.2 实际上是 1.10.1。(嗯,除了 1.9.1 是一个拙劣的版本,所以它更像是 1.10.0-pre,1.9.2 是 1.10.0,1.9.3 是 1.10.1。)

此外,Ruby 2.0 旨在完全向后兼容,这意味着它实际上是 1.12 ......这是否消除了任何混淆?:-)

所以,总而言之:是的,它曾经是正确的(但与您想象的方式不同),但它不再是正确的,并且自 1.7 系列以 Ruby 1.8.0 发布结束以来就不再正确年前的 2003 年 8 月。