layout: post comments: true title: 木兰编程语言入门教程之四——模块 description: date: 2020-02-22 00:05:00 -0700
本教程不求全面,各个方面点到即止。目标是尽快对木兰编程语言的功能有基本的了解。所有内容在此验证过。欢迎反馈/提交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