Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby';我们开始做什么?_Ruby - Fatal编程技术网

Ruby';我们开始做什么?

Ruby';我们开始做什么?,ruby,Ruby,在Ruby中,BEGIN是什么意思,它是如何命名的?例如,给定以下代码: puts "This is sentence 1." BEGIN { puts "This is sentence 2." } 为什么会将“这是句子2。”先执行?来自: BEGIN:通过代码块指定在程序开始顺序执行之前无条件执行的代码。有时用于模拟对方法的正向引用 BEGIN和END设置在执行任何其他操作之前调用的块,或在执行所有其他操作之后,在解释器退出之前调用的块 例如,运行以下命令: END { puts '

在Ruby中,
BEGIN
是什么意思,它是如何命名的?例如,给定以下代码:

puts "This is sentence 1."

BEGIN {
  puts "This is sentence 2."
}
为什么
会将“这是句子2。”
先执行?

来自:

BEGIN
:通过代码块指定在程序开始顺序执行之前无条件执行的代码。有时用于模拟对方法的正向引用


BEGIN
END
设置在执行任何其他操作之前调用的块,或在执行所有其他操作之后,在解释器退出之前调用的块

例如,运行以下命令:

END { puts 'END block' }

puts 'foobar'

BEGIN { puts 'BEGIN block' }
产出:

BEGIN block foobar END block 开始块 福巴 端块
通常我们会对
开始
结束
块使用更合理的顺序,但这说明了它们的作用。

开始
结束

每个Ruby源文件都可以声明要在加载文件时运行的代码块(BEGIN块)和程序执行完毕后运行的代码块(END块)

一个程序可以包括多个
开始
结束
块<代码>开始块按遇到的顺序执行<代码>结束块按相反顺序执行

你可以在“”中找到几乎相同的帖子


阅读更多关于

“为什么这是第一个执行的第2句?”你确定吗?维尔德。我以前从未见过这个关键字。@Alex:BEGIN是Perl的一个遗留版本:我个人认为输出上的格式非常混乱……我一直认为它是代码,而不是。在HTML中,我们应该使用
进行代码输出,但是
是固定宽度的输出,类似于
或反勾号的作用。发生颜色输出是因为没有可关闭颜色的元标记。使用
块使用可变宽度字体并启用换行,这两种字体对于代码输出都不正确。实际上,您可以使用
关闭高亮显示。更多信息请参见。啊,很好,我不知道。感谢链接到文档。
BEGIN { 
   begin block code 
} 

END { 
   end block code 
}