在Lua 5.3中,我有一个表
t1
,其中只有一个表,后一个表仅包含一个键[key]
,指向值1
。
t1 = {{key = 1}}
我的目标是将内部表复制并插入到空的第二个表
t2
,然后仅操作 t2 内表的值。但是,当尝试使用下面的代码执行此操作时,表 t1 中的表也会受到影响,这是不希望的。我猜测这是因为 {key = 1}
是一个表,在 t1 和 t2 中都指向内存中的同一位置,这是不希望的。有什么推荐的方法可以避免这种情况?
提前致谢。
local t1 = {{key = 1}}
local t2 = {}
table.insert(t2,t1[1])
t2[1].key = t2[1].key + 1
print(t1[1].key, t2[1].key)
结果:
2 2
预期:
1 2