gpt4 book ai didi

ruby - 何时使用 'if __FILE__ == $PROGRAM_NAME'

转载 作者:太空宇宙 更新时间:2023-11-03 17:14:03 24 4
gpt4 key购买 nike

我看到许多程序被以下 if 语句包围:

if __FILE__ == $PROGRAM_NAME
# rest of the program
end

我读到它是“确保当前文件对应于需要[被]执行的程序”。

我什么时候应该在我的程序中使用这个语句?我应该在什么情况下使用它?什么时候不需要?

最佳答案

when is it not necessary?

几乎总是。

when should I use this statement in my programs?

当您有一个主要由其他文件使用的文件,但有时您想直接运行该文件。在这种情况下,这部分代码通常会进行一些测试或示例使用。

# animal.rb
class Animal
def voice
raise NotImplementedError
end
end

class Dog < Animal
def voice
'Woof!'
end
end


if __FILE__ == $PROGRAM_NAME
puts "testing voice"
puts Dog.new.voice == 'Woof!'
end

如果您运行 ruby animal.rb,您将看到调试/测试输出。如果您只是需要来自另一个文件的“动物”,则不会。

关于ruby - 何时使用 'if __FILE__ == $PROGRAM_NAME',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48690284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com