Все ли переводчики Ruby следуют тому же синтаксис Ruby?

StackOverflow https://stackoverflow.com/questions/3652170

  •  01-10-2019
  •  | 
  •  

Вопрос

Все ли у Ruby переводчики следуют тому же синтаксис Ruby, определенный на www.ruby-lang.org?

  • МРи
  • Ярв
  • Рубин
  • Jruby.
  • Ironruby

Потому что это переводчик, который определяет язык рубина. Значит ли это один переводчик, может добавить функцию / синтатический сахар, что другие переводчики?

Если это так, у всех переводчиков есть собственная документация API?

Потому что я использую: http://ruby-doc.org/ruby-1.9/index.html..

Какие переводчики реализуются, что один?

Может ли кто-нибудь пролить свет на эту тему.

Спасибо!

Это было полезно?

Решение

Все ли у Ruby переводчики следуют тому же синтаксис Ruby, определенный на www.ruby-lang.org?

Да, все они используют один и тот же синтаксис. Фактически, они на самом деле все используют один и тот же анализатор или, по меньшей мере, анализатор, который был автоматически сгенерирован из одного и того же исходного файла.

Потому что я использую: http://ruby-doc.org/ruby-1.9/index.html..

Какие переводчики реализуются, что один?

На данный момент единственным добываемым двигателем рубинового исполнения, который реализует Ruby 1.9 полностью, является Ярв.

Сама 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. МРТ не реализует Ruby 1.9 и, вероятно, никогда не будет.

Но я не понимаю, почему вы так обеспокоены синтаксисом. Синтаксические различия тривиальны для точечного места: если там мы Разница в синтаксисе, двигатель просто откажется от анализа вашего файла, и вы бы не знали, что что-то не так. Различия в семантика С другой стороны гораздо более опасны.

Другие советы

Какой бит «синтаксический сахар» вы имеете в виду?

Имейте в виду, что Ruby имеет очень маленький набор ключевых слов. Много вещей, которые, кажется, это ключевое слово, сначала на самом деле реализовано ядром (например, require, puts, а также raise).

http://apidock.com/ruby/kernel.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top