Какова самая официальная документация или способ изучения синтаксиса Ruby?

Есть https://ruby-doc.org/docs/ruby-doc-bundle/Manual/man-1.4/syntax.html от самого Юкихиро Мацумото, но, учитывая, что я не могу найти упоминания о &. (например a&.b) или же &: (например m(&:f)), это не кажется очень обновленным. Я помню, однажды был один человек, который пытался документировать его на основе модульных тестов MRI, но сдался и отказался от проекта из-за отсутствия сотрудничества со стороны разработчиков.

В данный момент кажется, что единственный способ научиться этому - случайно наткнуться на новый синтаксис в Stackru или в каком-либо проекте ruby ​​с открытым исходным кодом.

1 ответ

Решение

Каноническая документация синтаксиса Ruby поддерживается вместе с исходным кодом языка в doc/syntax каталог. Вы можете прочитать его на GitHub или, например, на ruby-doc.org.

Там вы найдете описание &. оператор:

Вы можете использовать &. назначить получателя, то my_method не вызывается, и результат nil когда получатель nil, В этом случае аргументы my_method не оцениваются.

а также логика для преобразования объекта Proc (или, точнее, объекта, который можно преобразовать в Proc) в блок:

Вы можете преобразовать proc или lambda в аргумент блока с помощью & оператор:

argument = proc { |a| puts "#{a.inspect} was yielded" }

my_method(&argument)

Здесь интересно отметить, что символы отвечают на to_procкоторый позволяет символам действовать как процессы (и, следовательно, может быть преобразован в процедуру, а затем в блок, когда используется для вызова метода с, например,my_method(&:foo),

В общем, чтобы узнать о синтаксисе Ruby и подходе к программированию, вы можете начать с одной из нескольких книг, например, по программированию на Ruby 1.9 и 2.0. В целом, книги обычно занимают некоторое время (обычно несколько лет) от начала до публикации и, таким образом, не охватывают самые последние языковые дополнения. Тем не менее, они могут дать вам хороший обзор языка и его основных понятий.

В более новых версиях Ruby есть некоторые дополнения, которые облегчают некоторые вещи, такие как&.Оператор добавлен в Ruby 2.3 или такие вещи, как замороженные строки по умолчанию. Хотя эти дополнения полезны, вы, как правило, сталкиваетесь с ними, когда начинаете программировать на Ruby. Здесь может быть полезно следить за новостями о выпуске, где кратко описаны новые функции и заметные изменения.

Другие вопросы по тегам