Ich habe einige Frage für Lua Metatabelle ... Dies ist mein Code:Lua Metatabelle Variable
setmetatable(t1, mb)
setmetatable(t2, mb)
print("t1:", getmetatable(t1))
print("t2:", getmetatable(t2))
mb.__index = mb
print(t1.a)
t1.a = 2
print(t2.a)
mb.a = 3
print(t1.a)
print(t2.a)
und diese ausgegeben:
t1: table: 00D62D88
t2: table: 00D62D88
1
1
2
3
Ausgabe zeigt mir, dass T1 und T2 hat die gleiche metatable mb (gleiche Adresse), ich denke t1.a und t2.a sind mb.a, sie sind gleich variabel. Aber geben Sie t1.a einen neuen Wert, t2.a no change., Geben Sie mb.a einen neuen Wert, t3 ist change! Könnte jemand erklären, was dafür passiert?
ja, ich habe Understanded. Vielen Dank! – ChangHao