Lua 函数定义一个代码块,通过传递参数后执行,并返回对应的执行结果给函数调用处
函数定义
Lua 函数使用关键字 function
定义
# 全局函数
function function_name (args) -- args 表示参数列表,函数的参数列表可以为空
-- body
end
function_name = function (args)
-- body
end
# 局部函数
local function function_name (args)
-- body
end
说明:
- 函数调用
function_name()
- 其中
()
中需要函数参数,参数个数不受限制,可以传入任意数量的实参,默认为 nil,多的参数会被函数自动忽略 - 若参数是字符串、table,
()
可以省略
- 变长参数
local function function_name( ... )
,访问的时候也要使用 ...
- 返回值
return
关键字return 1, "lua"
local x, y = function()
可变参数
函数参数列表使用 ...
表示接受可变参数,示例
local function t(...)
local arg={...} -- 将可变参数保存到 table 里
print(#arg) -- 输出参数长度
for k, v in ipairs(arg) do -- 遍历
print("arg ", k, " is ", v)
end
end
说明:
select(n, ...)
获取可变参数的第 n 个参数- 获取参数的数量
unpack(arg)
可以将表拆分为参数列表