一:函数的定义

在Lua中函数是一个数据类型!
Lua(九)——函数_Lua 热更新


二:函数的特性

——函数可以当作一个变量作为数据赋值:将myfun作为数据变量传递给fun1,fun1函数就有了与myfun函数相同的功能
Lua(九)——函数_热更新_02


——函数可以作为参数传递(类似于C#中的委托与事件):将myPrint函数当做参数传递给add函数的fun参数
Lua(九)——函数_Lua 热更新_03


——函数可以定义为匿名函数
Lua(九)——函数_Lua 热更新_04         Lua(九)——函数_热更新_05


——函数可以返回多个值
Lua(九)——函数_Lua 热更新_06


三:函数的可变参数

将函数参数写为三个点,则当前参数为可变参数:
Lua会把可变参数当作一个以数组方式存储数据的表,表的名字叫arg,arg中保存着参数的键和值以及参数个数
如果想要遍历一个可变参数中所有的元素,通过遍历table的方式遍历arg会出现以下情况:最后的输出带有参数个数
Lua(九)——函数_热更新_07
避免这个问题需要使用{...}来代替arg,{...}中只存储了传入的参数
Lua(九)——函数_Lua 热更新_08

函数可以同时拥有固定参数和可变参数:
固定参数必须在可变参数前
Lua(九)——函数_热更新_09