Lua表格/更改变量——心理障碍

我一直认为将k的值从"x"更改为20将消除"x"。那么为什么在这个例子中我们能够回去引用"x"

a = {}
k = "x"
a[k] = 10
print(a[k])        ---> 返回10
print(a["x"])      ---> 返回10
a[20] = "great"
k = 20
print(a[k])        ---> "great"
a["x"] = a["x"] + 1
print(a["x"])    --> 11

为什么最后一个打印命令有效并返回11?我想我们设置了k=20。为什么"x"还在画面中?

原文链接 https://stackoverflow.com/questions/8284547

点赞
stackoverflow用户720849
stackoverflow用户720849

Lua称之为表格,其他编程语言称之为字典或哈希表。表格是一种存储键和值对的数据结构,表格中不能有两个相同的键,但可以有不同的键引用相同的值。因此,基本上,第二行中的操作是将变量“k”的值设置为“x”,第三行中您正在说表格“a”将具有一个值为10的条目,该条目由键“x”引用而不是变量“k”,变量“k”是一个地址而不是值。

我希望我对您有所帮助。

2011-11-27 09:44:04