# 函数
f(a:int, b:int): a+b=>f.
[按理说,默认返回值是变量函数都可以,但是返回值与后缀就没关系了,它本身是一个函数嘛,还要禁止它呢]
[但是这最后返回的时候确实有些不对劲,按理说也应该是int啊]
[类是有后缀的,函数是没有后缀的,我把类和函数归一了,这样仍会报错,但是也没有问题,检查在变量端检查]
[比如你写的函数既能返回整数,也能返回字符串,但某个时刻你只想返回整数,返回字符串报错,那么你只能在变量端检查]
[这么写: a.int<=fun().]
func(ca:int, cb:int): (ca+cb=>func). [正确,声明一个域,则直接返回这个域,相当于走变量赋值的默认那一套,而括号里面的实际上并未执行]
func(): (
la: 0,
lb: "yes".
"No" => lb.
lfunc.int(a, b): (a+b=>lfunc).
lfunc2.void():(). [表示不返回任何参数,空域往往表示作为接口]
lfunc(1, 2). [直接执行了]
).
func: (a+b=>func). [错误,如果是域的话,基本声明方式在前面必须加括号]
[引用声明方式]
[函数一般不会加后缀,因为返回值问题,类一般都要加后缀,为了区分的问题]
func.cls(): fun.cls. [正确,相当于直接拷贝,走变量赋值的默认那一套,但是左部括号和形参都要正确,不然就认为不是一个函数,这种多用于函数或拷贝构造]
[我需要一批关键字,实际上它们起到表达式的作用,赋予类型但不赋予值]
func(a.int, b.int): func(a.int, b.int). [错误,函数的声明形式只有前面是,后面就不是了]
func(a.int, b.int): func(1, 2). [正确,但这实际上是返回的东西,返回它自己,这种多用于没有返回值,因此返回它自己,是类]
func: fun(1, 2). [错误,前面必须要有括号和形参,必须是函数声明形式]
func(1, 2): fun(1, 2). [错误,前面必须是声明形式]