函数
函数语法
1.基础语法
function 函数名()
end
--或者
a= function()
end
注:顺序读取调用,函数调用要放在函数声明后
补充知识点:
- 传入参数与函数参数不匹配不会报错,只会返回空
- 传入参数为空,亦输出空
- 参数“溢出”则丢弃
- 未通过local定义的变量均默认为全局变量
2.有返回值
function F4(1)
return a,"123",true
end
temp,temp2,temp3 =F4("1")
--temp,temp2,temp3分别是a,123,true
- 有返回值时,且多返回值时,在前面多个变量接收即可。
- 如果变量不够,则读取对应位置,丢弃多余的值
- 同理,接收变量多于返回值,则多出变量为空
3.函数类型 均为function
- 支持函数嵌套
- 支持函数作为变量
MyPrint = function(value)
print("函数的值:",value)
end
4.Lua不支持重载,取最后一个函数运行
5.变长参数
function F7(...)
--变长参数使用一个表存起来,再用
arg={...}
for i=1,#arg do
print(arg[i])
end
end
- 固定参数必须放在可变参数前
6.Select函数
- select(’#’,…)返回可变参数的长度
do
function foo( ... )
for i=1,select('#',...)do
print("foo",i)
end
end
foo(1,2,3,4)
end
- select(n,…)用于返回n到select(’#’,…)的参数
do
function foo(...)
local arg = select(1,...)
print("输出:",arg)
end
foo(a,b,c,d)
end
--输出a