相当于Ruby中的`if __name__ =='__main __'`

想象者:

我是Ruby的新手。我正在从包含要继续单独使用的工具的模块中导入函数。在Python中,我只需执行以下操作:

def a():
    ...
def b():
    ...
if __name__ == '__main__':
    a()
    b()

这使我可以运行程序或将其导入为模块使用a()和/或b()单独使用。Ruby中的等效范例是什么?

抹茶:

从我在野外看到的Ruby(当然,不是一吨)来看,这不是标准的Ruby设计模式。模块和脚本应该保持独立,因此,如果没有真正好的清洁方法,我也不会感到惊讶。

编辑: 找到了。

if __FILE__ == $0
    foo()
    bar()
end

但这绝对不常见。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用`__name__ == “__main __”:'在一个类中实现`unittest.TestCase`

如果在IPython中__name__ =='__main__'

如何测试或模拟“如果__name__ =='__main__'”内容

__name__ ==“ __main__”怎么办?

如果__name__ =='__main__',则相当于python的node.js

在Ruby中相当于“ continue”

在Python中调用getLogger之前,是否需要显式检查__name__ ==“ __main__”?

如果__name__ =='__main__'不起作用ipython

如果__name__ =='__main__'函数调用

TCL等同于Python的`if __name__ ==“ __main __”`

在C ++中模拟__name__ == __main__是否导致错误“未定义类似函数的宏”

在Python multiprocessing.Process中,我们是否必须使用`__name__ == __main__`?

if __name__ ==“ __main__”的位置:

相当于bash $ {!name *}或$ {!name @}的zsh

为什么不将__name__ =='__main__'放在模块的开头?

python if __name__ ==“ __main__”:IndentationError:预期为缩进块

如何从另一个python文件中的`if __name__ ==“ __main __”`中执行代码

相当于Mongoid中的set_table_name

MOD_WSGI:Python或WSGI中的“ SERVER_NAME”(相当于php)?

使用python-multiprocessing与if __name__ =='__main__'相关的谜

如果__name__ ==“ __main__”条件(带烧瓶/弹性豆茎)

Pycharm“Python 控制台”中的 exec(open) 函数不执行“if __name__ == '__main__”块

使用 if __name__ == "__main__" 从其他文件调用函数:

将多个参数传递给 Python __name__=="__main__"

如何使用 if __name__ == '__main__':

来自 if __name__ == "__main__" 的返回语句

如何在“if __name__ == '__main__'”中模拟.patch 变量

当 .py 文件包含 __name__==__main 时,Python 中的方法执行优先级是什么?

替代 if __name__ == '__main__':