如何在Lua中正确地重新分配变量?

时间:2015-07-21 13:42:12

标签: variables lua variable-assignment

我正在为仿真软件编写用户程序。有一个名为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。我究竟做错了什么?

1 个答案:

答案 0 :(得分:0)

您需要的是使用局部变量:

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

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