【发布时间】:2014-07-06 06:05:54
【问题描述】:
我正在尝试制作一张里面有桌子的桌子。进入内部的表格与之前的值略有不同。但最终结果是主表内的表彼此相等,并且等于其最新值。
local array = {}
local x
local y
function test(a)
if a==1 then
x = {1,1}
print("x returned")
y = x
for k,v in pairs(x) do print(k,v) end
return x
end
if a>=1 then
p=math.random(1,2)
n=math.random(2,4)
table.remove(y,p)
table.insert(y,p,n)
print("")
print("y returned")
for k,v in pairs(y) do print(k,v) end
return y
end
end
array[1] = test(1)
array[2] = test(2)
array[3] = test(3)
print("")
for k,v in pairs(array) do print(k,v) end
testtable=array[1]
print("")
for k,v in pairs(testtable) do print(k,v) end
输出:
x returned
1 1
2 1
y returned
1 1
2 3
y returned
1 1
2 4
1 table: 0x678300
2 table: 0x678300
3 table: 0x678300
1 1
2 4
array 里面的三个表应该是互不相同的。我究竟做错了什么?表有什么我不知道的吗?
【问题讨论】: