在Lua中,我如何使用表作为varargs(...)?

时间:2010-08-13 03:53:58

标签: lua

strjoin接受一个字符串,然后接受可变数量的参数。我正在寻找一种方法来获取一个包含可变数量参数的表,并使用表中的每个项作为另一个参数。

local myTable = {
    'a',
    'b',
    'c',
}
-- This is what I want except that I don't want to hard code
-- a specific number of parameters

local myString = strjoin(' ', myTable[1], myTable[2], myTable[3])

2 个答案:

答案 0 :(得分:20)

使用unpack功能:

local myString = strjoin(' ', unpack(myTable))

较新版本的Lua放置了unpack function in the table module

local myString = strjoin(' ', table.unpack(myTable))

这不会直接回答您的问题,但正如lhf指出的那样,以下内容更有效:

local myString = table.concat(myTable, ' ')

答案 1 :(得分:6)

使用table.concat代替strjoin