【问题标题】:Python's if __name__=="__main__" idiom for GNU Smalltalk?Python 的 if __name__=="__main__" GNU Smalltalk 的成语?
【发布时间】:2023-04-05 19:06:02
【问题描述】:

这样的事情存在吗?

鲁比:

if __FILE__ == $0
    main
end

Perl:

unless(caller) {
    main;
}

卢阿:

if type(package.loaded[(...)]) ~= "userdata" then
    main(arg)
else
    module(..., package.seeall)
end

【问题讨论】:

  • 也许,问一下真正想要什么,而不是用其他语言展示预期行为是如何获得的。
  • Desired: main 函数的语法,当此代码被其他代码导入时,该函数不会运行。换句话说,Python 的if __name__=="__main__".
  • 与语言无关的等价物:创建另一个模块/文件,从另一个模块/文件调用 main 函数,导入前者并调用后者。
  • 期望的行为是在同一个模块中执行此操作。
  • 我想,mcandre 想知道如何将代码添加到库中,只有在库单独运行时才会执行(与包含相反)

标签:
smalltalk
main
gnu-smalltalk