Lua表格,带更改变量-心理障碍
我一直认为将Lua表格,带更改变量-心理障碍,lua,Lua,我一直认为将k的值从“x”更改为20将消除“x”。那么,为什么在本例中我们能够返回并引用“x” 为什么最后一个打印命令有效,并返回11?我以为我们设置了k=20。为什么“x”甚至在图片中?Lua调用表,其他编程语言称之为字典或散列,表是存储一对键和值的数据结构,我们不能在一个表中有两个相同的键,但我们可以为不同的键使用相同的值。因此,基本上你在第2行所做的是给变量“k”赋值“x”,在第3行,你是说表“a”将有一个值为10的条目,该条目由键“x”引用,而不是变量“k”,变量“k”是一个值,而不是一
k
的值从“x”
更改为20
将消除“x”
。那么,为什么在本例中我们能够返回并引用“x”
为什么最后一个打印命令有效,并返回
11
?我以为我们设置了k
=20
。为什么“x”
甚至在图片中?Lua调用表,其他编程语言称之为字典或散列,表是存储一对键和值的数据结构,我们不能在一个表中有两个相同的键,但我们可以为不同的键使用相同的值。因此,基本上你在第2行所做的是给变量“k”赋值“x”,在第3行,你是说表“a”将有一个值为10的条目,该条目由键“x”引用,而不是变量“k”,变量“k”是一个值,而不是一个值
我希望我能有所帮助。这帮了大忙-所以,
a[k]=10
主要是一种命名约定。你在告诉节目,“我想在表a
,10
中放置一个值。我想用一个键引用这个值。在本例中,我希望我的键是附加到变量k
的任何值。换句话说,我希望表a
中的一个点在该时间点上由变量k
的值索引。它只在此刻起作用。@blacks:这就是绝大多数带有变量的编程语言的工作方式。它们只在使用时查看变量的值。使用变量后更改变量不会追溯到以前的操作。
a = {}
k = "x"
a[k] = 10
print(a[k]) ---> Returns 10
print(a["x"]) ---> Returns 10
a[20] = "great"
k = 20
print(a[k]) ---> "great"
a["x"] = a["x"] + 1
print(a["x"]) --> 11