首页 > 解决方案 > var 中的 var = var 中的 var + 1

问题描述

我还是 Lua 的新手,并且有一个关于 var in var 的问题。

我如何计算这个:?

A=1
X=A
X=X+1

如您所见:
此计算将导致

A=A+1

但这对我不起作用。
我想我必须以某种方式格式化汽车。

我想这样做是因为我希望能够在必要时更改另一个 var 中的 var。

标签: luanestedvarhidden

解决方案


= 运算符做了两件事:

  • 评估右手边
  • 将结果分配给左侧的变量

为了说明,考虑这个例子:

A = 1            -- A is now 1
X = A + A + A    -- X is now 3, and A hasn't changed
X = X + 1        -- X is now 4, and A hasn't changed

现在让我们看一下您的原始代码,并用通俗的语言写出含义。

A=1         -- Create a variable 'A' and assign it the value of one
X=A         -- Create the variable 'X' and assign it the current value of 'A'
X=X+1       -- Change 'X' by assigning it the current value of 'X' plus one

注意这些注释读起来像是对计算机的“指令”,而不是数学方程式。Lua(以及一般的编程)应该被解释为一组从上到下执行的指令。

然而,正如 Egor Skriptunoff 在之前的评论中提到的那样,表的行为不同。参见Programming in Lua - Chapter 2.5以获得关于表如何不同的更详细的解释。


推荐阅读