在python中,模块不需要有主函数,但通常使用以下习惯用法:

def my_main_function():
    ... # some code

if __name__=="__main__":  # program's entry point
    my_main_function()

我知道Ruby也不需要main方法,但是有什么最佳实践我应该遵循吗?我应该把我的方法命名为main还是什么?

Wikipedia page about main methods对我没什么帮助.


作为旁注,我还看到了python中的以下习语:

def my_main_function(args=[]):
    ... # some code

if __name__=="__main__":  # program's entry point
    import sys
    sys.exit(my_main_function(sys.argv))

推荐答案

我通常用

if __FILE__ == $0
  x = SweetClass.new(ARGV)
  x.run # or go, or whatever
end

所以是的,你可以.这取决于你在做什么.

Ruby相关问答推荐

为什么非数字在Ruby中被转换为integer?

当Ruby `Complex` 类除了`==` 之外没有任何关系运算符时,它的祖先怎么能有`Comparable`?

.nil?、.blank? 之间的区别?和.empty?

查看 Savon 请求 XML 而不发送到服务器

Jekyll 默认安装没有 _layouts 目录

使用 RSpec 存根 Time.now

C# 中的 typeof 保留字是否有 Ruby 类似功能?

如何在 Ruby 中合并多个哈希?

在一组字符串中找到最长的公共起始子字符串

为 Ruby 模块中的每个方法调用执行代码

Ruby 中是否有像 C 中一样的主要方法?

VCRProxy:在 Capybara 内使用 VCR 记录 PhantomJS ajax 调用

在 Ubuntu 上安装 Ruby 1.9.1?

Ruby 中的 method_missing trap

就地修改 ruby​​ 哈希(rails strong params)

Sinatra 登录?

如何获取当前 rake 任务的 PID?

Mustache Templates 可以做模板扩展吗?

如何在 Ruby 中获取堆栈跟踪对象?

如何在 Rails 应用程序中使用 httparty 的基本身份验证?