BEGIN: Определяет, через кодовый блок, код, который должен выполняться безоговорочно, прежде чем начнется последовательное выполнение программы. Иногда используется для моделирования прямых ссылок на методы.
Ответ 3
BEGIN и END Блоки
Каждый исходный файл Ruby может объявлять блоки кода, которые будут выполняться по мере загрузки файла (блоки BEGIN) и после завершения программы (блоки END).
BEGIN {
begin block code
}
END {
end block code
}
Программа может включать в себя несколько блоков BEGIN и END. Блоки BEGIN выполняются в том порядке, в котором они встречаются. Блоки END выполняются в обратном порядке.