因此,当我从命令行调用我的脚本时,我希望它接受一个int并使用值执行某些操作:
ruby script.rb
puts ARGV[0], etc...
但是,无论何时加载或需要脚本并且不从命令行调用脚本,我都想完全跳过这部分代码。如何检测脚本是通过命令行调用还是仅加载?谢谢!
答案 0 :(得分:59)
将它放在脚本的底部是很常见的:
if __FILE__==$0
# this will only run if the script was the main, not load'd or require'd
end
因为我喜欢在我的文件顶部看到主要操作,所以我通常会在文件中放置一个def run!
作为第一个方法,然后用以下内容结束文件:
run! if __FILE__==$0