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) 可以将表拆分为参数列表