📜  Ruby 中的 BEGIN 和 END 块

📅  最后修改于: 2022-05-13 01:54:51.361000             🧑  作者: Mango

Ruby 中的 BEGIN 和 END 块

每个 Ruby 源文件都可以在文件加载时作为BEGIN块运行,并在程序完成执行后运行END块。 BEGIN 和 END 语句彼此不同。一个程序可能包含多个 BEGIN 和 END 块。如果程序中有多个 BEGIN 语句,则按顺序执行 如果有多个 END 语句,则按相反的顺序执行。第一个 END 最后执行。一个大括号总是在 BEGIN 和 END 关键字之后。
句法:

BEGIN{
Code
.
.
.}
END{
.
.
.}

下面是一个更好理解的例子:
例子 :

# 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 code block
GeeksForGeeks
END code block

在上面的例子中,我们可以看到 BEGIN 块代码将首先执行,然后 Main 块代码将在 END 块代码执行之后执行。
例子 :

# 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"

输出 :

This is BEGIN block code
7
Main Block
This is END block code
12

注意:如果循环中使用了 END 语句,则它会被执行多次。