====== Covariant Script 函数 ======
-----
\\
===== 6.1 定义 =====
function 函数名(参数列表(可选))
语句块
end
''参数列表''中的参数只能指定名称,参数名**不可重复**,各参数之间以'',''分隔,如:
function test(a0, a1, a2)
语句块
end
\\
**函数在被调用时,将传入参数的引用,返回时也将返回引用**
函数的变体包括[[:wiki:reference:grammar:function:main_page#6.2 可变参数|lambda 表达式]]和[[:wiki:reference:grammar:structure:main_page#7.2 成员函数|成员函数]]
-----
\\
===== 6.2 可变参数 =====
在声明函数或**lambda**表达式时,可在参数列表中声明**可变参数列表**:
function (...参数名)
语句块
end
或
[]( ...参数名 ) -> 表达式
若声明了可变参数列表,则参数列表中不允许有其他任何形式的参数,这种函数我们称之为**可变参数函数**
可变参数函数在被调用时参数数量**无上限**
可变参数函数被调用时,可变参数列表会被以数组的形式呈现,若需要二次转发可使用展开运算符''...''展开