unpack函数简介
函数多值返回的特殊函数 unpack,接受一个数组作为输入参数,返回数组的所有元 素。unpack 被用来实现范型调用机制,在 C 语言中可以使用函数指针调用可变的函数, 可以声明参数可变的函数,但不能两者同时可变。
使用方法
在 Lua 中如果你想调用可变参数的可变函数只需要这样:
- 代码
f = string.find --类似函数指针
a = {"hello","ll"} --参数数组
print(f(unpack(a)));
- 结果
自己用lua实现unpack
function unpack(t,i)
i = i or 1
if(t[i]) then
return t[i],unpack(t,i+1)
end
end
综合上个例子,参数t为{“hello”,”ll”},参数i为nil