2012-04-26 17 views
4

如何检查Ruby文件是否通过“require”或“load”导入,而不是简单地从命令行执行?检查Ruby程序是否通过require执行或导入

如:

foo.rb的内容:bar.rb的

puts "Hello" 

内容

require 'foo' 

输出:

$ ./foo.rb 
Hello 
$ ./bar.rb 
Hello 

基本上,我想调用bar.rb不执行投入话费。

回答

3

变化foo.rb阅读:

if __FILE__ == $0 
    puts "Hello" 
end 

,检查__FILE__ - 当前红宝石文件的名称 - 对$0 - 正在运行的脚本的名称。

4
if __FILE__ != $0  #if the file is not the main script which is running 
    quit     #then quit 
end 

把这个对所有代码顶部foo.rb