Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua表格,带更改变量-心理障碍_Lua - Fatal编程技术网

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