Lua之unpack函数

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

….

你可能感兴趣的:(Lua)