【问题标题】:Ruby equivalent to Python __main__ [duplicate]Ruby 等价于 Python __main__ [重复]
【发布时间】:2011-03-18 03:39:56
【问题描述】:

如果在一个 ruby​​ 文件中我定义了一个这样的函数:

def tell_the_truth()
    puts "truth"
end

有没有等价于python的main?

if __name__ == "__main__":
    tell_the_truth()

是不是简单的调用文件里面的函数?

tell_the_truth

【问题讨论】:

  • Python 中if 的原因是为了防止在文件包含在另一个文件中时调用该函数,而您的 Ruby 示例没有这样做(据我所知)
  • 谢谢迈克尔。我理解python中if背后的原因。为了比较,我尝试将 tell_the_truth() 放在函数定义下,然后使用“require”从另一个 ruby​​ 文件导入该文件。这打印出“真相”。因此,导入文件时似乎会运行顶级语句。

标签: python ruby main


【解决方案1】:

我相信这会奏效:

if __FILE__ == $0
    tell_the_truth()
end

【讨论】:

    【解决方案2】:
    if __FILE__ == $PROGRAM_NAME
        tell_the_truth()
    end
    

    【讨论】:

      猜你喜欢
      • 2011-01-15
      • 2012-02-21
      • 1970-01-01
      • 2019-08-15
      • 2012-11-26
      • 1970-01-01
      • 2011-08-18
      • 2019-03-14
      • 2010-09-23
      相关资源
      最近更新 更多