这是我的代码:
test_tab1={}
test_tab2={}
actual={}
actual.nest={}
actual.nest.a=10
test_tab1=actual.nest
print("test_tab1.a:" .. test_tab1.a) -- prints test_tab1.a equal to 10
actual.nest.a=20
test_tab2=actual.nest
print("test_tab2.a:" .. test_tab2.a) -- prints test_tab2.a equal to 20
print("test_tab1.a:" .. test_tab1.a) -- prints test_tab1.a equal to 20
实际输出:
test_tab1.a:10
test_tab2.a:20
test_tab1.a:20
根据我的理解,
test_tab1
和test_tab2
都指向同一个地址,即actual.nest。因此,当我赋值actual.nest.a=20
时,test_tab1.a
的值也会改变为20,而以前它是10。期望输出:
test_tab1.a:10
test_tab2.a:20
test_tab1.a:10
有谁能帮我得到这个输出? 如果我第二次改变actual.nest.a=20
,它不应该反映在 test_tab1.a
上,即10
test_tab1.a:10 test_tab2.a:20 test_tab1.a:10
- StackUsertest_tab1
或者分配给test_tab2
并更改此副本中的值时,可以这样做。这实际上取决于你的用例。 - moteus