9.lua中的函数
1.函数的基本形式
[]:表示可选
function f([参数列表])
函数体
[return a,b,c] //可以同时返回多个值
end
2.固定参数
function f(a,b)
print(a,b)
end
f(1)
f(1,2)
f(1,2,3)
输出结果如下:
1 nil
1 2
1 2
3.可变参函数
function f(...)
local a,b = ...
print(a,b)
end
f(1)
f(1,2)
f(1,2,3)
输出结果如下:
1 nil
1 2
1 2
4.可返回多个值
Lua 中的函数一次可以返回多个值,但需要有多个变量来同时接收
function f()
return 1,2,3,4
end
local a,b,c = f();
local a1,b1,c1,d1 = f();
local a2,b2,c2,d2,e2 = f();
print(a,b,c)
print(a1,b1,c1,d1)
print(a2,b2,c2,d2,e2)
输出结果如下:
1 2 3
1 2 3 4
1 2 3 4 nil
5.函数作为参数
Lua 的函数中,允许函数作为参数。而作为参数的函数,可以是已经定义好的普通函数,
也可以是匿名函数。
function sum(a,b)
return a+b
end
function mul(a,b)
return a*b
end
function test(a,b,fun)
local a = fun(a,b)
print(a)
end
test(1,2,sum)
test(1,2,mul)
test(1,2,function (a,b) return a-b end)
输出结果如下:
3
2
-1