声明方式

变量式

1
2
3
local f = function()
print("hello")
end

函数式

1
2
3
function func()
print("hello")
end

多返回值

Lua函数可以返回多个结果值

1
2
3
4
5
function mulreturn ()
    return 1, 2
end

print(mulreturn())-- 输出 1,2

可变参数

在函数参数列表中使用三点 表示函数有可变的参数。

1
2
3
4
5
6
7
8
function add(...)  
local s = 0
for i, v in ipairs{...} do --> {...} 表示一个由所有变长参数构成的数组
s = s + v
end
return s
end
print(add(3,4,5,6,7)) --->输出25

select

select(“#”,…) 来获取可变参数的数量

1
2
3
4
5
6
function func(...)
local c = select("#",...)
print(c)
end

func(1,2,3,4) -- 输出4

select(n, …) 用于返回从起点 n 开始到结束位置的所有参数列表。

1
2
3
4
5
function func2(...)
return select(2,...)
end

print(func2(1,2,3,4)) -- 输出 2 3 4