仅在从命令行调用脚本时运行代码

因此,当我从命令行调用我的脚本时,我希望它接受一个int并使用值执行某些操作:

ruby script.rb puts ARGV[0], etc... 

但是,无论何时加载或需要脚本而不从命令行调用脚本,我都想完全跳过这部分代码。 如何检测脚本是通过命令行调用还是仅加载? 谢谢!

将它放在脚本的底部是很常见的:

 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