Ruby的BEGIN做了什么?
BEGIN
在Ruby中意味着什么,它是如何被称为的? 例如,给定此代码:
puts "This is sentence 1." BEGIN { puts "This is sentence 2." }
为什么puts "This is sentence 2."
先执行?
BEGIN
和END
设置在执行任何其他操作之前调用的块,或者在解释器退出之前设置其他所有块之后调用的块。
例如,运行这个:
END { puts 'END block' } puts 'foobar' BEGIN { puts 'BEGIN block' }
输出:
BEGIN块 foobar的 结束块
通常我们会对BEGIN
和END
块使用更多逻辑顺序,但这certificate了它们的作用。
来自BEGIN
关键字的Ruby文档 :
BEGIN
:通过代码块指定在程序开始顺序执行之前无条件执行的代码。 有时用于模拟对方法的前向引用。
BEGIN
和END
块
每个Ruby源文件都可以声明要在加载文件时运行的代码块( BEGIN
块)以及程序执行完毕后( END
块)。
BEGIN { begin block code } END { end block code }
程序可以包括多个BEGIN
和END
块。 BEGIN
块按它们遇到的顺序执行。 END
块以相反的顺序执行。
您可以在“ 开始…结束时表示’块’? ”中找到几乎相同的post。
阅读有关tutorialspoint上的块的更多信息