Как передать аргументы блоку?

Формальные параметры блока находятся между вертикальными чертами в начале блока.

  proc { |a, b| a <=> b }

Эти параметры на самом деле являются локальными переменными. Если существует переменная с тем же именем, она может быть изменена в вызове блока. Это может быть и плохо, и хорошо.

Обычно аргументы передаются в блок с помощью yield (или итератором, который вызывает yield), или используя метод Proc.call.

Вход для пользователей