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
posted @ 2024-04-12 21:20  test369  阅读(7)  评论(0编辑  收藏  举报