Ruby BEGIN和END块
每个Ruby源文件都可以在文件加载时运行 BEGIN 块,在程序执行完毕后运行 END 块。BEGIN和END语句是彼此不同的。一个程序可以包含多个BEGIN和END块。如果一个程序中有多个BEGIN语句,它们的执行顺序是 如果有多个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语句,那么它将被执行一次以上。