2017-02-07 6 views
2

数値順テーブルを、lua内でunpackを使わずにvarargとして返す方法はありますか?言い換えると;アンパック機能をリメイクできますか?テーブルを展開せずにvarargに変換できますか?

例テーブル:

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

関連する問題