Run a Ruby library from the command-line
我刚刚学习了Ruby的基础知识,在对Python非常满意的几年之后(我仍然在为一些事情使用Python),但是我想知道是否有一个成语或黑客来解决这个特定的问题。
我有一个Ruby脚本,我希望能够使用它来执行
1 2 | if __name__ == '__main__': # do something here |
然而,在Ruby中似乎找不到等价的。是否有一种方法可以检测当前脚本是否正在从命令行运行?也许是某个
1 2 3 | if from_command_line? # do something here end |
您要使用:
1 2 3 | if __FILE__ == $0 # do stuff end |
您可以在Ruby中找到类似的功能。
__FILE__ the current source file name.
$0 Contains the name of the script being executed. May be assignable.
来源:Ruby Quick Ref
同时
1 2 3 | if __FILE__ == $0 Foo.run end |
是我目前使用的常用方法吗?
1 2 3 | if File.identical?(__FILE__, $0) Foo.run end |
因为像ruby prof这样的程序即使在使用