“三”;“最后的”;Ruby的版本?

“三”;“最后的”;Ruby的版本?,ruby,Ruby,我最近一直在使用IronRuby,但我也想安装参考实现。不用说,说到Ruby,我是个笨蛋,所以我有一个非常愚蠢的问题 在上,Ruby安装程序(适用于Windows)有三个不同的最终版本: rubynstaller-1.8.6-p398.exe rubyinstaller-1.8.7-p249.exe rubynstaller-1.9.1-p378.exe 我不明白为什么会有三个不同的最终版本。我可以理解有一个1.8版本和一个1.9版本,但是为什么我可以在1.8.6和1.8.7之间选择呢 我真

我最近一直在使用IronRuby,但我也想安装参考实现。不用说,说到Ruby,我是个笨蛋,所以我有一个非常愚蠢的问题

在上,Ruby安装程序(适用于Windows)有三个不同的最终版本:

  • rubynstaller-1.8.6-p398.exe
  • rubyinstaller-1.8.7-p249.exe
  • rubynstaller-1.9.1-p378.exe
我不明白为什么会有三个不同的最终版本。我可以理解有一个1.8版本和一个1.9版本,但是为什么我可以在1.8.6和1.8.7之间选择呢

我真正想知道的是什么版本是“最好的”?如果答案是“1.9.1”,为何选择1.8.6或1.8.7


我很困惑……

1.9.1是最新版本的ruby,而不是“最好的”。通常,边缘版本包含与以前版本以及新功能不兼容的内容。这使得较新版本与较旧版本不向后兼容。底线是,如果您计划运行基于这些版本编写的代码,那么您需要“较旧”的版本

另外,一个版本(通常较旧)被非正式地认为是“稳定的”和“可移植的”版本。就ruby而言,我相信它是1.8.7版本。我认为检查这一点的好方法是查看最新版本的linux或os x作为预装的ruby版本有哪些


这只是当您选择要安装的版本时需要考虑的一些因素。请注意,在同一个框中可以有多个版本的ruby。一个合适的工具是。

最终安装程序的3个不同版本背后的推理基于以下标准:

1.8.6是应用最广泛的版本,用于生产服务器,因此发布该版本是为了与这些情况兼容

1.8.7是Ruby Core定义的较新的稳定标准,也是Ruby开发者最可能关注的1.8版本标准

1.9.1是Ruby的更新版本,基于一个名为YARV的新虚拟机。这个分支(1.9)是Ruby核心开发人员最关注的分支

该软件包的原因是,能够满足3种不同类型的用户。那些试图模拟生产环境的,从1.8版本开始的,以及使用更新功能的

还有1.9.2-preview3,它是具有更新功能的候选版本之一,将于8月发布

希望有帮助

-

我不明白为什么会有三个不同的最终版本

没有三个不同的最终版本,只有一个:“final”在本例中指的是安装程序的版本,而不是解释器。这两个解释器的所有三个版本都只有一个安装程序

我可以理解有一个1.8版本和一个1.9版本,但是为什么我可以在1.8.6和1.8.7之间选择呢

在Ruby中,次要数字的变化表示严重的向后不兼容和/或主要的新语言特性。1.8→1.9转换既有不兼容性,也有新的特性。虽然Ruby1.9是当前的版本,但是仍然有很多代码没有更新到Ruby1.9。此外,许多操作系统还没有默认提供Ruby1.9,有些根本没有提供Ruby1.9

这就是为什么有1.9和1.8

为什么有两个版本的1.8?1.8.7是一个奇怪的荷兰版本。1.8.7从1.9中获得了大量的后端口功能,以简化过渡。然而,很长一段时间以来,1.8.7并没有得到很多认可,1.8.6仍然是Rails团队推荐的版本。(这将与Rails 3发生变化,Rails 3需要1.8.7或尚未发布的1.9.2。)

Ruby 1.8.6仍然是许多运行较慢的Linux发行版的默认(事实上是唯一的)版本,这些发行版提供3年或5年的支持合同。Ruby1.8.6也是OneClick安装程序的最新版本,OneClick安装程序是RubyInstaller的前身。如果RubyInstaller要取代OneClick安装程序,它必须提供相同的版本。最后但并非最不重要的一点是,在1.8.6上测试和验证了大量代码

另外,Ruby 1.8.6是由JRuby 1.0、1.1、1.2、1.3和1.4实现的版本。只有最近发布的JRuby 1.5升级到了1.8.7。JRuby1.6将同时实现1.8.7和1.9.2。此外,IronRuby 1.0实现了Ruby 1.8.6

换句话说:MRI 1.8.6版的RubyInstaller仍然存在,原因与微软在两次尝试关闭Windows XP后仍然支持Windows XP的原因相同:使用它的人如果不这样做,会感到非常不安

我真正想知道的是什么版本是“最好的”?如果答案是“1.9.1”,为何选择1.8.6或1.8.7

就个人而言,我认为“最好的一款”是Ruby 1.9.2,它还没有发布

以下是我的个人情况:

  • 如果您刚刚开始使用Ruby并开始使用它,那么1.9.2是最好的版本:Ruby 1.9是该语言的最新版本,1.9.2被认为是1.9分支的功能完整版本;它修复了1.9.1中的一些疏忽和烦恼,并添加了一些不错的特性。此外,大多数Ruby实现都没有实现1.9.1,IronRuby将直接从1.8.6升级到1.9.2,JRuby将同时实现1.8.7和1.9.2,Rubinius也将升级到1.9.2
  • 如果您真的想要部署和/或分发Ruby应用程序,1.9.1和1.8.7是最好的版本,因为1.9.2还没有正式发布:如果您可以使用1.9.1(即如果您依赖的第三方库支持它),则使用1.8.7
  • 如果您有一个较大的遗留代码库,请使用1.8.6。(实际上,如果您有大型遗留代码库,请将其更新为1.9。