Lua - 合并表
在 Lua 中,我们可以使用一个简单的函数将两个 table 连接起来,但需要注意的是,Lua 标准库中并不存在这样的函数。
在 Lua 中连接两个 table 有不同的方法。我编写了两种方法,它们的复杂程度大致相同。
第一种方法 - 使用 for 循环
第一种方法大致如下 −
-- 创建一个用于连接 table 的函数
function TableConcat(t1,t2)
for i=1,#t2 do
t1[#t1+1] = t2[i]
end
return t1
end
第二种方法 - 使用 ipairs()
另一种实现相同功能的方法是使用 ipairs() 函数。
-- 使用 ipairs for _,v in ipairs(t2) do table.insert(t1, v) end
我们可以使用这两种方法中的任意一种。现在让我们在 Lua 示例中使用第一种方法。
示例 - 使用 pairs 迭代器
考虑下面的示例 −
main.lua
-- 初始化第一个数组
t1 = {1,2}
-- 初始化第二个数组
t2 = {3,4}
-- 定义一个用于连接 table 的函数
function TableConcat(t1,t2)
for i=1,#t2 do
t1[#t1+1] = t2[i]
end
return t1
end
-- 连接 table
t = TableConcat(t1,t2)
-- 遍历 table
for _, v in pairs(t1)
do
print(v)
end
输出
运行上述代码时,我们将得到以下输出−
1 2 3 4
现在让我们在 Lua 示例中使用第二种方法。
示例 - 使用 ipairs 迭代器
考虑下面的示例 −
main.lua
-- 初始化第一个数组
t1 = {1,2}
-- 初始化第二个数组
t2 = {3,4}
-- 遍历 t2
for _,v in ipairs(t2)
do
table.insert(t1, v)
end
-- 遍历 t1 并打印合并后的 table
for _, v in pairs(t1)
do
print(v)
end
输出
运行上述代码时,我们将得到以下输出−
1 2 3 4