我该如何在Lua中正确地重新赋值变量?

我正在为一个模拟软件编写用户程序。有一个名为adj_elect05的变量。下面的代码块会反复地调用。每次调用它,我希望将adj_elect05(一个数值)增加一定数量,然后将该数量写入文件。以下是正常工作的代码:

increment = -10

adj_elect05 = adj_elect05 + increment

oct_voltages = io.open(O_V, "a+")
oct_voltages:write("\n", adj_elect05)
oct_voltages:close ()

在文件中,我得到一个数字列表:-10、-20、-30等等。问题是,我需要给adj_elect05一个通用的名称,这样它就可以在以后更改而不必更改它出现的每个实例,所以我写了以下代码:

increment = -10
octupole_v = adj_elect05

octupole_v = octupole_v + increment

oct_voltages = io.open(O_V, "a+")
oct_voltages:write("\n", octupole_v)
oct_voltages:close ()

这样,每次代码运行时,我会得到-10,而不是每次减少10的结果。我做错了什么?

点赞
用户161331
用户161331

你需要使用本地变量:

local increment = -10
local octupole_v = adj_elect05
octupole_v = octupole_v + increment

默认情况下,变量被视为全局变量(与 Python 不同)。

2015-07-21 13:48:38