仓库源文站点原文


layout: post comments: true title: 木兰编程语言入门教程之四——模块 description: date: 2020-02-22 00:05:00 -0700

categories: 木兰

本教程不求全面,各个方面点到即止。目标是尽快对木兰编程语言的功能有基本的了解。所有内容在此验证过。欢迎反馈/提交PR

之前的章节:

模块

如果退出木兰交互环境再进入,之前定义的函数变量等都会失效。用源码文件就可以随时调用,这也叫“脚本”。而随着代码变得越来越长,就需要将其拆分成几个文件。

为此,木兰可以将定义置于“模块”文件中。模块可以在其他模块或脚本中引入。

创建木兰模块middle.ul

func average(a, b) {
    return (a + b) / 2.0
}

导入此模块:

> using middle

调用模块中的函数:

> middle.average(1, 2)
1.5

也可以只导入某个函数:

> using average in middle
> average(2, 3)
2.5

或者导入模块中所有函数:

> using * in middle
> average(4, 3)
3.5

也可以直接运行该模块,只需在模块末尾加此段代码:

if __name__ == "__main__" {
    using sys
    println(average(int(sys.argv[2]), int(sys.argv[3])))
}

即可如此运行:

>[ulang.exe的路径] middle.ul 5 6
5.5

除了木兰本身模块,也可以导入python模块。新建larger.py文件:

def larger(a, b):
    if a > b:
        print(a)
    else:
        print(b)

就可以在木兰交互环境中引入:

> using larger
> larger.larger(5,6)
6

木兰本身还附带了一些常用的python模块,比如随机数:

> using random
> random.random()
0.9458333434176851