Подтвердить что ты не робот

Существует ли формальная спецификация (например, спецификация Java Language Specification (JLS)) для Ruby?

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

4b9b3361

Ответ 1

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

Ссылки

См. также

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

Ответ 2

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

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

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

  • RubySpec завершен: он охватывает весь язык Ruby и всю основную библиотеку, начиная с версии 1.8.7 до 1.9.2 и 1.9.3. Спецификация проекта ISO охватывает только очень небольшое подмножество пересечения 1,8 и 1,9.
  • RubySpec написан на Ruby (который является языком, который может прочитать каждый рубист), спецификация проекта ISO написана на английском языке, или, скорее, в стандарте ISO Standardese (который является языком, на котором может быть только несколько человек на планете понимать).
  • RubySpec является исполняемым: вы можете просто запустить его против своей реализации Ruby, чтобы узнать, чего вы все еще не хватает.

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

Ответ 3

Если вы идете в

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

или же

https://www.ruby-lang.org/en/documentation/

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

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

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

затем в разделе "страницы" выберите "синтаксис"

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

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

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

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

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

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

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

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

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

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

старшинство
Приоритет операторов ruby

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

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