在python中,模块不必具有 main函数,但通常的做法是使用以下习语:
def my_main_function(): ... # some code if __name__=="__main__": # program's entry point my_main_function()
我知道红宝石不具备有一个main
方法要么,但有某种我应遵循最佳实践?我应该说出我的方法main
或其他什么?
关于主要方法的维基百科页面并没有真正帮助我.
作为旁注,我在python中也看到了以下习语:
def my_main_function(args=[]): ... # some code if __name__=="__main__": # program's entry point import sys sys.exit(my_main_function(sys.argv))
Allyn.. 76
我经常使用
if __FILE__ == $0 x = SweetClass.new(ARGV) x.run # or go, or whatever end
是的,你可以.这取决于你在做什么.
我经常使用
if __FILE__ == $0 x = SweetClass.new(ARGV) x.run # or go, or whatever end
是的,你可以.这取决于你在做什么.
我总是发现$PROGRAM_NAME
比使用更具可读性$0
.有一半时间,我看到像这样的"Perl-like"全局变量,我必须去查看它们.
if __FILE__ == $PROGRAM_NAME # Put "main" code here end
您应该将库代码放在bin /中需要库代码的lib /和可执行文件中.这具有与RubyGems的封装方法兼容的额外优势.
一个常见的模式是lib/application.rb(或者最好是一个更适合您域名的名称)和bin/application,它包含:
require 'application' Application.run(ARGV)