在lua中连接表序列

时间:2016-01-21 10:21:55

标签: lua

是否有一种简单的方法可以连接两个序列表?例如

a = {1, 2, 3}
b = {5, 6, 7}
c = cat(a,b)

其中c是表{1,2,3,5,6,7}

1 个答案:

答案 0 :(得分:1)

function cat(t, ...)  
    local new = {unpack(t)}  
    for i,v in ipairs({...}) do  
        for ii,vv in ipairs(v) do  
            new[#new+1] = vv  
        end  
    end  
    return new  
end

它使用迭代将每个数组的元素添加到新数组中。

值得注意的是,{unpack(t)}只有在少于特定数量的元素时才会起作用,因为元组在Lua中是如何工作的。这会因版本而异,具体取决于您正在做什么,但如果它很小,您可能无需担心。