在 Lua 中连接表序列。

有没有一种简单的方法将两个序列表连接起来?例如

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

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

点赞
用户3979429
用户3979429
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 中元组的工作方式不同。这在不同的版本和不同的用法下具有变化,但如果元素数量较少,你可能不需要担心。

2016-01-21 10:43:06