2017-02-07 46 views
2

有沒有辦法在不使用lua內的解壓縮的情況下將數字順序表作爲可變參數返回?換一種說法;你能重拍解壓縮函數嗎?您可以將表格轉換成可變參數而不需要解壓縮嗎?

示例表:

foo = {1, 2, 3} 

實例功能:

function unpackTable(tab) 
    -- 
end 

要求的結果:

1, 2, 3 
+1

它是如何發生的'unpack'在你的Lua不可用? –

回答

7
local unpackTable do 

local function unpackTable_(tab, i, ...) 
    if i == 0 then return ... end 
    return unpackTable_(tab, i-1, tab[i], ...) 
end 

unpackTable = function(tab) 
    return unpackTable_(tab, #tab) 
end 

end 

foo = {1, 2, 3} 
print(unpackTable(foo)) 
+0

完美地工作,謝謝。 – Skere

相關問題