Блоки BEGIN и END в Ruby

Опубликовано: 9 Марта, 2022

Каждый исходный файл Ruby может запускаться как блоки BEGIN при загрузке файла и запускать блоки END после завершения выполнения программы. Операторы BEGIN и END отличаются друг от друга. Программа может содержать несколько блоков BEGIN и END. Если в программе более одного оператора BEGIN, они выполняются в порядке, если имеется более одного оператора END, они выполняются в обратном порядке. первый END выполняется последним. Открытая фигурная скобка всегда ставится после ключевых слов BEGIN и END.
Синтаксис:

 НАЧИНАТЬ{
Код
.
.
.}
КОНЕЦ{
.
.
.}

Below is the example to better understand:
Example :

# Ruby Program of BEGIN and END Block
  
BEGIN
   # BEGIN block code 
   puts "BEGIN code block"
  
END
   # END block code 
   puts "END code block"
}
   # MAIN block code 
puts "GeeksForGeeks"

Выход :

 Блок кода BEGIN
GeeksForGeeks
КОНЕЦ блока кода

In above example, as we can see BEGIN block code will execute first then Main block code will be executed after that END block code will be executed.
Example :

# Ruby Program of BEGIN and END Block
  
# BEGIN block 
BEGIN {
  
  a = 4
  b = 3
  c = a + b
        
   # BEGIN block code  
   puts "This is BEGIN block code"
   puts c
  
}  
    
# END block  
END {  
  
  a = 4
  b = 3
  c = a * b
        
   # END block code  
   puts "This is END block code"
   puts c
    
# Code will execute before END block  
puts "Main Block"

Выход :

 Это код блока BEGIN
7
Главный блок
Это код блока END
12

Примечание. Если в цикле используется оператор END, то он выполняется более одного раза.