07-函数
提到函数这一概念,对于没有学习过计算机语言的人来说,可能会想到数学中的函数:一次函数,二次函数……,对于给定的自变量,具有一个唯一的函数值,在函数式编程中,同样存在这一概念,即:无副作用函数,但在过程式编程中,函数通常是有副作用的,也就是同样的输入,每次可能会得到不同的输出。在Alum中,一个函数是这样定义的:
1 | fun F(Pn: PTn, ...): RT expression |
其中F是函数的名字,就像sin,cos这样的,Pn是参数名,PTn是参数类型,RT是函数返回的类型。一个函数可以有多个参数,但只能有一个返回值。expression即函数体,需要注意的是,Alum的{ }与其中包含的多个语句实际上组成一个单独的表达式(如果你想要了解代码块,可以回顾05-Block),也就是说,Alum并不强制你必须用一个{ }的代码块构成函数体,也可以是一个单独的return语句(在Alum中,必须显式的return,如果是void也要return nil)。
例如:
1 | fun succ(n: int): int return n + 1 |
这样是完全可以的,甚至如果你想的话,也可以这么写:
1 | fun fib(n: int): int return { |
这与
1 | fun fib(n: int): int { |
的运行效果是一样的,但还是推荐后者,这样具有更好的可读性
- Title: 07-函数
- Author: Wan Yutong
- Created at : 2026-02-28 18:40:25
- Updated at : 2026-03-03 11:38:47
- Link: https://cr0.dpdns.org/2026/02/28/07-Function/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments