代码之家  ›  专栏  ›  技术社区  ›  Asa Ayers

在Lua中,如何将表用作varargs(…)?

lua
  •  10
  • Asa Ayers  · 技术社区  · 14 年前

    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])
    
    2 回复  |  直到 14 年前
        1
  •  20
  •   Judge Maygarden    6 年前

    使用 unpack 功能:

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

    unpack function in the table module :

    local myString = strjoin(' ', table.unpack(myTable))
    

    这不是直接回答你的问题,而是 lhf 指出以下几点更有效:

    local myString = table.concat(myTable, ' ')
    
        2
  •  6
  •   lhf    14 年前

    使用 table.concat 而不是 strjoin .