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 语句,则它会被执行多次。