当前位置 : 主页 > 网络编程 > lua >

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

来源:互联网 收集:自由互联 发布时间:2021-06-23
strjoin接受一个字符串,然后接受可变数量的参数.我正在寻找一种方法来获取具有可变数量的参数的表,并使用表中的每个项作为另一个参数. local myTable = { 'a', 'b', 'c',}-- This is what I want e
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])
使用 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, ' ')
网友评论