2010-08-13 31 views
7

strjoin接受一个字符串,然后接受可变数量的参数。我正在寻找一种方法来获取具有可变数量参数的表格,并将表格中的每个项目用作另一个参数。在Lua中,我如何使用表作为可变参数(...)?

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]) 

回答

17

使用unpack功能:

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

我不得不使用'table.unpack'而不是'unpack'。可能是版本差异。 – 2018-03-08 11:02:12

6

使用table.concat而不是strjoin

+0

尽管从技术上讲您是正确的,但您的答案并未选择,因为我正在寻找解决方案,我也可以将其应用于其他类似的功能。 – 2010-08-13 14:21:17

+1

@AsaAyers,那么你最好从开发者的函数中找到/请求可以与表一起工作的函数,因为一旦你用200+值的表进行尝试,程序就会失败,因为它会溢出Lua本地函数堆栈。 – 2013-10-04 15:50:40

相关问题