Каноническая документация по синтаксису 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.Здесь может быть полезно следить за новостями о выпуске , где кратко описаны новые функции и заметные изменения.