Существует ли категорический справочный документ для синтаксиса Ruby? [закрытый]

20
задан Yetanotherjosh 2 May 2010 в 19:32
поделиться

4 ответа

Единственный документ, который можно обоснованно назвать "окончательным", - это исходный код parse.y в исходном дереве YARV.

Проект спецификации ISO содержит 39-страничное приложение с кратким изложением грамматики. Однако обратите внимание, что ISO Ruby - это минимальное подмножество пересечения Ruby 1.8 и 1.9. IOW: он не описывает ничего, что есть только в 1.8 или только в 1.9 (так что синтаксические дополнения в 1.9, такие как stabby proc и хэши символов, не описаны), и не описывает все в этом пересечение. В этом отношении ISO Ruby немного похож на ISO HTML.

Проект RubySpec содержит исполняемые спецификации для языка Ruby. Однако он не содержит явной спецификации грамматики. Единственная спецификация грамматики - неявная в самих примерах. Кроме того, поскольку RubySpec - это спецификация, основанная на примерах, она может показать вам только конкретные примеры действительного кода Ruby, но не может рассказать вам все возможные допустимые программы Ruby, как это может быть спецификация грамматики. И поскольку RubySpec сам по себе является исполняемым кодом Ruby, он может показывать вам только действительные примеры, а не недопустимые.

Последнее, что можно считать окончательным, - это книга Язык программирования Ruby Дэвида Фланагана и Юкихиро "matz" Мацумото.

Обратите внимание, однако, что «весь синтаксис Ruby» - довольно сложная задача, потому что синтаксис Ruby безумно сложен с огромным количеством странных угловых случаев.

12
ответ дан 30 November 2019 в 01:20
поделиться

Как следует из приведенного выше ответа, предпринимаются усилия по написанию "спецификации" на http://ruby-std.netlab.jp .

Вы должны быть осторожны с этой "спецификацией". Разработчики языка не делают этого, и они в основном документируют то, что видят, а не наоборот. Он основан на версии 1.8.7, поэтому в 1.9 могут быть функции, которые не охвачены.

Я не могу себе представить, что запомнил синтаксис 300-страничного документа. Чтобы иметь возможность «работать над таблицей», эта шпаргалка описывает то, что вам нужно: сжатый синтаксис, зарезервированные слова и т. Д. Это альтернатива dzone .

-1
ответ дан 30 November 2019 в 01:20
поделиться

Это довольно хороший ресурс синтаксиса Ruby

http://www.cs.auckland.ac.nz/references/ ruby / doc_bundle / Manual / man-1.4 / syntax.html

1
ответ дан 30 November 2019 в 01:20
поделиться

В разработке находится проект стандарта Ruby. Вы можете получить его здесь: http://ruby-std.netlab.jp/

Ваш пример с case и Programming Ruby плохо выбран. Когда Программирование Ruby вводит case (на странице 98 для первого издания; 141 для второго издания), Томас говорит

Выражение Ruby case является мощный зверь: многоход если на стероидах. И чтобы сделать его еще более мощным, он бывает двух видов.

Затем он кратко объясняет оба способа использования прецедента (с явной целью после исходного варианта и без него). На самом деле он начинает со стиля, который, как вы говорите, он не упоминает.

Ваша большая точка зрения, тем не менее, не лишена оснований. Возможно, будет полезно иметь стандарт.

4
ответ дан 30 November 2019 в 01:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: