[英]Do all Ruby interpreters follow the same Ruby syntax?
所有的Ruby解釋器都遵循www.ruby-lang.org中定義的相同Ruby語法嗎?
原因是解釋器定義了Ruby語言。 這是否意味着一個口譯員可以添加其他口譯員沒有的功能/語法糖?
如果是這樣,所有解釋器是否都有自己的API文檔?
原因我正在使用: http : //ruby-doc.org/ruby-1.9/index.html 。
哪些口譯員正在實施那個口譯員?
有人可以闡明這個話題。
謝謝!
所有的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,而且可能永遠也不會實現。
但是我不明白為什么您如此擔心語法。 語法差異是微不足道的發現:如果有幾個語法的差異時,發動機就會干脆拒絕解析您的文件,你會立刻知道這有什么不對。 另一方面, 語義上的差異要危險得多。
您指的是“語法糖”的哪一部分?
請記住,ruby的關鍵字集很小。 起初似乎是關鍵字的很多東西實際上是由Kernel實現的(例如require
, puts
和raise
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.