0

是否所有 Ruby 解释器都遵循 www.ruby-lang.org 中定义的相同 Ruby 语法?

  • 核磁共振
  • YARV
  • 鲁比纽斯
  • JRuby
  • 铁红宝石

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

如果是这样,所有解释器都有自己的 API 文档吗?

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

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

有人可以阐明这个话题。

谢谢!

4

2 回答 2

3

是否所有 Ruby 解释器都遵循 www.ruby-lang.org 中定义的相同 Ruby 语法?

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

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

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

目前,唯一完全实现 Ruby 1.9 的生产就绪 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,而且可能永远也不会。

但我不明白你为什么如此关心语法。语法差异很容易发现:如果语法有差异,引擎会简单地拒绝解析您的文件,您会立即知道有什么问题。另一方面,语义上的差异要危险得多。

于 2010-09-06T15:03:27.100 回答
0

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

请记住,ruby 的关键字非常少。很多起初看起来是关键字的东西实际上是由内核实现的(例如require,,putsraise)。

http://apidock.com/ruby/Kernel

于 2010-09-13T04:55:07.860 回答