Существует ли формальная спецификация (например, спецификация языка Java (JLS)) для Ruby? - PullRequest
21 голосов
/ 16 июля 2010

Есть ли определенная спецификация для Ruby, похожая на спецификацию языка Java для Java.Спецификация поискового рубинового языка в результате предоставляет http://ruby -std.netlab.jp / , но сайт не работает, и я не уверен, является ли он текущим

Ответы [ 3 ]

13 голосов
/ 13 сентября 2011

Существует черновик для формальной спецификации Ruby.Он разрабатывается Открытым центром продвижения стандартов Агентства по продвижению информационных технологий (японское правительственное агентство) для подачи в Японский комитет по промышленным стандартам изатем далее в Международную организацию по стандартизации .

Однако никто на самом деле не использует эту спецификацию.Спецификация, которая на самом деле используется всеми разработчиками Ruby, такими как Rubinius , IronRuby , JRuby , MacRuby , MagLev и т. Д., Это RubySpec .

Три основных различия между черновой спецификацией ISO и RubySpec:

  1. RubySpec - это complete : он охватывает весь язык Ruby и всю базовую библиотеку, начиная с версии 1.8.7 до 1.9.2 и 1.9.3.Черновая спецификация ISO охватывает только очень маленькое подмножество пересечений 1.8 и 1.9.
  2. RubySpec написан на Ruby (это язык, который может прочитать каждый Rubyist), черновик ISOСпецификация написана на английском языке, точнее на стандарте ISO (это язык, который может понять только горстка людей на планете).
  3. RubySpec - это исполняемый файл : вы можете просто запуститьэто против вашей реализации Ruby, чтобы увидеть, что вам все еще не хватает.

Еще один отличный источник (каламбур) информации о поведении Ruby - это исходный код ядра Rubinius , который реализует семантику языка Ruby и библиотеки ядра Ruby.(Примечание: многие люди предпочитают исходный код из YARV , но я этого не делаю по двум причинам: во-первых, YARV написан на C, а это язык, который не каждыйRubyist знает, тогда как Rubinius находится в Ruby, который (надеюсь) знает каждый Rubiyst, и, во-вторых, кодовая база Rubinius гораздо лучше структурирована, хорошо спроектирована, хорошо организована, хорошо протестирована, хорошо документирована.)

10 голосов
/ 16 июля 2010

Ruby 1.8 был предметом нескольких отраслевых стандартов.Спецификации языка для Ruby были разработаны Центром продвижения открытых стандартов Агентства по продвижению информационных технологий (агентство правительства Японии ) для подачи в Комитет по промышленным стандартам Японии (JISC) изатем в Международную организацию по стандартизации (ISO).Он был принят в качестве японского промышленного стандарта (JIS X 3017) в 2011 году [24] и международного стандарта ( ISO / IEC 30170 ) в 2012 году. [25]

Ссылки

См. Также

  • ruby-std.netlab.jp - черновой стандарт Ruby ISO
    • ruby-standard.org - зеркало вики-проекта чернового стандарта ISO Ruby
  • spec.ruby-doc.org - проект, управляемый сообществом для написания полного, исполняемого файласпецификация
0 голосов
/ 07 июля 2019

Если вы перейдете на

https://docs.ruby -lang.org / ен / 2.6.0 / syntax_rdoc.html

или

https://www.ruby -lang.org / о / документация /

"Официальная документация по Ruby API"

https://docs.ruby -lang.org / о /

https://docs.ruby -lang.org / о / 2.6.0 /

затем в «страницах» выберите «синтаксис»

Тогда вы получите эту страницу со ссылками на другие соответствующие страницы

https://docs.ruby -lang.org / ен / 2.6.0 / syntax_rdoc.html

Синтаксис Ruby большой и разбит на следующие разделы:

литералы
Числа, Строки, Массивы, Хэши и т. Д.

Назначение Назначение и переменные

Управляющие выражения
если, если, пока, пока, для, перерыв, следующий, повторить

Методы
Синтаксис метода и аргумента метода

Методы вызова
Как вызвать метод (или отправить сообщение методу)

Модули и классы
Создание модулей и классов, включая наследование

Исключения
Синтаксис обработки исключений

Внеочередные
Приоритет операторов ruby ​​

Уточнения
Использование и поведение функции экспериментальных уточнений

Разное
псевдоним, undef, BEGIN, END

...