Ответ 1
Блок имеет особое значение в Ruby. По словам Маца, создателя Ruby, вы можете смотреть на блок как на безымянную функцию - обычно это может быть yield
ed, и которые также могут принимать параметры.
При описании синтаксиса Ruby вы можете увидеть следующий тип диссонанса:
-
begin
...end
(то, что называется блоком на других языках) иногда может упоминаться просто как то, что он есть, т.е. expression (который, в свою очередь, может содержать другие выражения - выражение - это просто что-то, что имеет возвращаемое значение) в Ruby. Некоторые ссылки по-прежнему будут называть егоbegin/end block
илиcode block
, добавляя несколько к путанице -
do
...end
или{...}
всегда будет упоминаться как block в Ruby
В примерах рассмотрим страницу man синтаксиса Ruby, например
begin
expression
end
expression
while
expression
loop
block
Для дальнейшего чтения см.