今天学习第五章 函数
ide
5. Functions
1)函数定义:
function func(arg_list)
stat_list
end
(a)对只有一个参数且为字符串或表构造时,能够不用括号:
如: func("abcd") <----> func "abcd"
(b)对函数参数赋值同通常的等号赋值,缺乏补nil,多余忽略
2)函数返回值能够为多个:
function func()
return 1,2
end
a,b = func()
(a)能够用()强制只返回一个值 如 print( (func()) )--> 1
(b)当不须要一个返回值时,可用 “_”占位,如:
_, b = func() ---> b = 2
3)可变参数:
Lua将可变参数,记录在一个叫arg的表中,如:
function p(a,b, ...)
for i,v in ipairs(arg) do
...
end
end
p(1) ---> a = 1, b = nil, arg = {n = 0}
p(1,2) --->a = 1, b = 2, arg = {n = 0}
p(1,2,3,4) ---> a = 1, b = 2, arg = {3,4; n=2}
4)命名参数:
在函数调用时,显示说明输入的实参是属于哪一个形参的,能够作到不依据形参顺序来输入参数,方便一些可选参数的输入。如:
function func(height,length,width,vol)
...
end
调用时能够:
func(vol = 5, length = 10)至关于--> func(nil, 10, nil, 5)