Lua 一站式学习(三)-函数

Lua 一站式学习(3)-函数1.简单的例子lua中的函数和c中的很相,下面是数组累加的例子:2.返回多个lua中的函数

Lua 一站式学习(3)-函数

1.简单的例子

lua中的函数和c中的很相似,下面是数组累加的例子:



2.返回多个值

lua中的函数可以有多个返回值,下面的例子就找到最大值和它的位置。



可以利用这样的函数一次性给多个变量赋值,如果变量的个数多余函数的返回值个数,那么多余变量就赋值为nil,如果利用返回多个值的函数给某一个变量赋值的时候,只把函数返回的第一个值赋给变量。

还是接着上面的例子;


当利用没有返回值的函数对变量进行赋值的时候,就将nil赋给该变量。

当函数调用出现在一个表达式中的时候,函数只返回第一个返回值。

当用函数来构造table的时候,所有返回值都会用到。

例如


可以在函数调用的时候加上一对()来确保返回值只有一个。

总之,lua会根据情况调节函数的返回值。


3.接受可变参数的函数

函授接受的参数个数可以是变化的,比如说遍历数组,在c中需要传递数组的指针和数组的大小,在lua中用...就可以了。