学习语言
函数与闭包
声明函数、约束参数与返回值,并通过闭包捕获词法环境。
法 造加法(甲:数):法 则
法 相加(乙:数):数 则
归 甲 加 乙;
终
归 相加;
终
令 加十:法 为 造加法(10);
言 加十(5);
参数和返回类型均可省略。参数在调用时检查,返回值在函数结束时检查。无显式归时函数返回空,因此标注了非空返回类型的函数必须显式返回相符值。
内部函数可以捕获定义位置可见的绑定。即使外层函数已经返回,这些绑定仍由闭包保存。函数调用采用词法作用域,查找变量的位置由函数的定义位置决定,而不是调用位置。
方法也是函数,但从实例上取出时会自动绑定此;参见类与实例。
需要延迟执行、取消或组合工作时,可在法前加异;详见异步任务。