从函数返回表的内部

gns*_*ank 3 lua

可能重复:
在Lua中,如何将表用作varargs(...)?

我想做类似以下的事情,我想知道它是否与lua完全一致?

fun = function()
    some_table = {1,2,3}
    -- some dark magic here
    return 1,2,3
end

a, b, c = fun()
Run Code Online (Sandbox Code Playgroud)

如何转换{1,2,3}1,2,3从功能刚刚恢复?

谢谢

Pau*_*nko 8

使用unpack()(table.unpack在Lua 5.2中重命名):

fun = function()
  some_table = {1,2,3}
  return (table.unpack or unpack)(some_table)
end
print(fun())
Run Code Online (Sandbox Code Playgroud)

将打印1 2 3.