【发布时间】:2016-04-27 12:53:55
【问题描述】:
有没有一种简单的方法来连接两个序列表?例如
a = {1, 2, 3}
b = {5, 6, 7}
c = cat(a,b)
c 是表{1,2,3,5,6,7} 的位置?
【问题讨论】:
标签: lua
有没有一种简单的方法来连接两个序列表?例如
a = {1, 2, 3}
b = {5, 6, 7}
c = cat(a,b)
c 是表{1,2,3,5,6,7} 的位置?
【问题讨论】:
标签: lua
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
它使用迭代将每个数组的元素添加到一个新数组中。
还值得注意的是,由于元组在 Lua 中的工作方式,{unpack(t)} 仅在元素数量少于特定数量时才有效。这因版本而异,具体取决于您正在执行的操作,但如果它很小,您可能无需担心。
【讨论】:
{unpack(t)} 最多仅适用于大约一百万个表格元素(如果您有 16 位 ints,则为 15000 个)。