所有红宝石口译员是否遵循相同的红宝石语法?
题
所有红宝石口译器是否遵循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
).
不隶属于 StackOverflow