Ruby 1.8.6和1.9.1之间的主要区别是什么?

时间:2010-11-09 14:03:32

标签: ruby ruby-1.9 ruby-1.8

  

可能重复:
  What is the difference between Ruby 1.8 and Ruby 1.9

我发现在解释全局和局部变量方面存在一些差异。

有人能指出我的主要差异清单吗?

2 个答案:

答案 0 :(得分:3)

这些可能是最重要的变化:

  • Ruby 1.9已经改变了 被解释为存在 字节码编译(使用YARV VM)。

  • String类已经过重新设计 完全使其能够识别编码。

  • 现在正则表达式 使用Oniguruma实施 引擎,而不是自制的引擎 用于ruby 1.8,启用新功能 像负面环顾一样的功能。

  • stdlib中的enumerator库 已被添加到核心和大多数 已有Enumerable个方法 已更改为返回Enumerator 在没有阻止的情况下调用。

  • Symbol#to_proc已添加。

  • lambdas有一个新语法, ->允许默认参数 和lambdas采取块。

有一个更完整的更改列表here

答案 1 :(得分:1)

一个主要观点可能是他们使用不同的VM(至少,“标准”发行版确实如此,显然有很多选项,如MacRuby,IronRuby等)。您可以查看here以获取有关所有更改的详细信息。