2
테이블이있는 테이블을 만들려고합니다. 내부에 들어가는 테이블은 이전 값에서 약간 변경됩니다. 그러나 최종 결과는 주 테이블 내의 테이블이 서로 동일하고 최신 값과 동일하다는 것입니다.변경 테이블을 다른 테이블에 삽입. 테이블 값이 다를 때 동일해야합니다.
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
출력 : array
내부
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
세 개의 테이블이 서로 상이 할 것이다. 내가 도대체 뭘 잘못하고있는 겁니까? 내가 모르는 테이블에 관한 것이 있습니까?