in Lua, how can I use a table as varargs (...)?
strjoin accepts one string and then a variable n开发者_运维知识库umber of arguments. I'm looking for a way to take a table with a variable number of arguments and use each item in the table as another argument.
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])
Use the unpack function:
local myString = strjoin(' ', unpack(myTable))
Newer versions of Lua place the unpack function in the table module:
local myString = strjoin(' ', table.unpack(myTable))
This doesn't answer your question directly, but as lhf pointed out, the following is much more efficient:
local myString = table.concat(myTable, ' ')
Use table.concat
instead of strjoin
.
精彩评论