所有红宝石口译器是否遵循www.ruby-lang.org中定义的相同的红宝石语法?

  • MRI
  • YARV
  • 卢比尼乌斯
  • jruby
  • 铁瑞

因为解释器定义了红宝石语言。这是否意味着一个口译员可以添加其他口译员没有的功能/语法糖?

如果是这样,所有口译员都有自己的API文档吗?

因为我正在使用: http://ruby-doc.org/ruby-1.9/index.html.

哪些口译员正在实施该解释?

有人可以阐明这个话题。

谢谢!

有帮助吗?

解决方案

所有红宝石口译器是否遵循www.ruby-lang.org中定义的相同的红宝石语法?

是的,他们都使用相同的语法。实际上,它们实际上都使用相同的解析器,或者至少是从同一源文件自动生成的解析器。

因为我正在使用: http://ruby-doc.org/ruby-1.9/index.html.

哪些口译员正在实施该解释?

目前,唯一可以完全实现Ruby 1.9的Ruby Ruby执行引擎是YARV。

Jruby本身已经准备好生产,并且可以实现Ruby 1.8.7和Ruby 1.9.2,但Ruby 1.9.2实施尚未完成。 Ironruby和Rubinius也在致力于Ruby 1.9.2的实施。 Macruby具有相当完整的Ruby 1.9实现,但它远非1.0版本。 MRI不会实施Ruby 1.9,也许永远不会。

但是我不明白您为什么如此关心语法。语法差异是微不足道的:如果那里 语法的差异是,引擎只会拒绝解析您的文件,您会立即知道有问题。差异 语义 另一方面,更加危险。

其他提示

您指的是哪一点“句法糖”?

请记住,Ruby的关键字非常小。一开始似乎是关键字的许多东西实际上是由内核实现的(例如 require, puts, , 和 raise).

http://apidock.com/ruby/kernel

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top