我需要合并两个表,如果给定的项同时在两个表中,则第二个表的内容将覆盖第一个表中的内容。我看过了,但是标准库似乎不提供这个功能。我在哪里可以得到这样的函数?
发布于 2009-08-16 03:29:25
for k,v in pairs(second_table) do first_table[k] = v end
发布于 2009-08-16 06:26:36
这是我根据Doug Currie的回答想出来的:
function tableMerge(t1, t2)
for k,v in pairs(t2) do
if type(v) == "table" then
if type(t1[k] or false) == "table" then
tableMerge(t1[k] or {}, t2[k] or {})
else
t1[k] = v
end
else
t1[k] = v
end
end
return t1
end
发布于 2011-09-19 20:16:48
这难道不能正常工作吗?
function merge(t1, t2)
for k, v in pairs(t2) do
if (type(v) == "table") and (type(t1[k] or false) == "table") then
merge(t1[k], t2[k])
else
t1[k] = v
end
end
return t1
end
https://stackoverflow.com/questions/1283388
复制相似问题