BEGINRuby 中的含义是什么,它是如何调用的?例如,给定此代码:
puts "This is sentence 1."
BEGIN {
puts "This is sentence 2."
}
Run Code Online (Sandbox Code Playgroud)
为什么puts "This is sentence 2."先执行?
the*_*Man 19
BEGIN并END设置在执行任何其他操作之前调用的块,或者在解释器退出之前设置其他所有块之后调用的块.
例如,运行这个:
END { puts 'END block' }
puts 'foobar'
BEGIN { puts 'BEGIN block' }
Run Code Online (Sandbox Code Playgroud)
输出:
BEGIN block foobar END block
通常我们会对块BEGIN和END块使用更多的逻辑顺序,但这证明了它们的作用.