11
如果在ruby文件我定义一个函数,像这样:红宝石等同于Python的__main__
def tell_the_truth()
puts "truth"
end
是有一个相当于Python的主?
if __name__ == "__main__":
tell_the_truth()
它只是简单地调用文件内的函数吗?
tell_the_truth
如果在ruby文件我定义一个函数,像这样:红宝石等同于Python的__main__
def tell_the_truth()
puts "truth"
end
是有一个相当于Python的主?
if __name__ == "__main__":
tell_the_truth()
它只是简单地调用文件内的函数吗?
tell_the_truth
我相信这将工作:
if __FILE__ == $0
tell_the_truth()
end
if __FILE__ == $PROGRAM_NAME
tell_the_truth()
end
原因Python中的'if'是防止函数被调用,如果该文件包含到另外一个,你的Ruby示例不行(据我所知) – 2010-07-19 21:44:03
谢谢迈克尔。我明白为什么在python背后。为了进行比较,我尝试了将tell_the_truth()放在函数定义的下方,然后使用“require”从另一个ruby文件导入该文件。这打印出“真相”。因此,顶级语句似乎在导入文件时运行。 – Rodrigue 2010-07-20 08:10:48