如何检查Ruby文件是通过“require”还是“load”导入的,而不是简单地从命令行执行?
例如:
foo.rb的内容:
puts "Hello"
bar.rb的内容
require 'foo'
输出:
$ ./foo.rb
Hello
$ ./bar.rb
Hello
基本上,我想调用bar.rb来不执行puts调用。
答案 0 :(得分:5)
if __FILE__ != $0 #if the file is not the main script which is running
quit #then quit
end
将它放在foo.rb
中的所有代码之上答案 1 :(得分:4)
将foo.rb更改为:
if __FILE__ == $0
puts "Hello"
end
检查__FILE__
- 当前ruby文件的名称 - 针对$0
- 正在运行的脚本的名称。