2010-08-13 68 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

相關問題