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])
Run Code Online (Sandbox Code Playgroud)
Jud*_*den 20
使用解包功能:
local myString = strjoin(' ', unpack(myTable))
Run Code Online (Sandbox Code Playgroud)
较新版本的Lua将unpack函数放在表模块中:
local myString = strjoin(' ', table.unpack(myTable))
Run Code Online (Sandbox Code Playgroud)
这不能直接回答你的问题,但正如lhf指出的那样,以下效率要高得多:
local myString = table.concat(myTable, ' ')
Run Code Online (Sandbox Code Playgroud)