2024-05-16 07:49:14 发布
网友
我知道Perl有一种称为moduleno的设计模式,在这种模式中,库模块文件既可以充当库又可以充当脚本。在Ruby/Python中有没有类似的方法呢?在
我认为这种设计模式对我非常有用;我编写的工作线程相当短,但也需要脚本来运行它们。我想把这些从同一个地方运行会比较方便。在
谢谢你!在
Perl6内置了这个特性。您可以定义一个名为MAIN的子例程,如果将该文件用作脚本,则该子程序将执行:
MAIN
sub MAIN { ... }
MAIN的签名告诉perl6如何解析命令行参数。您可以有多个sub,perl6将使用签名匹配的sub。以下是Synopsis 6中的示例:
这是Ruby版本:
if __FILE__ == $PROGRAM_NAME #equivalent: if __FILE__ == $0 puts "This is the main file running, it is not being required." end
Python有__name__:
__name__
class MyClass(object): pass if __name__ == '__main__': print("This will only run if you run the script explicitly, not import it")
如果运行python myscript.py,则print函数将运行。如果从myscript导入MyClass,则{}将不会。在
python myscript.py
print
myscript
MyClass
Perl6内置了这个特性。您可以定义一个名为
MAIN
的子例程,如果将该文件用作脚本,则该子程序将执行:
^{pr2}$MAIN
的签名告诉perl6如何解析命令行参数。您可以有多个sub,perl6将使用签名匹配的sub。以下是Synopsis 6中的示例:这是Ruby版本:
Python有
__name__
:如果运行}将不会。在
python myscript.py
,则print
函数将运行。如果从myscript
导入MyClass
,则{相关问题 更多 >
编程相关推荐