变量名称包含另一个变量的值

时间:2013-11-06 08:49:57

标签: variables lua

假设我预先定义了3个变量x1x2x3,每个变量都是屏幕上不同的坐标。我有一大堆代码来决定另一个变量a是否等于123。现在,我想在变量名中包含a的值,允许我在x1x2x3之间“动态”更改。

E.g。 a设置为2。现在我想将鼠标移至xa,因此如果a=2xax2,则为预定义变量。

很明显我对Lua很新,我试过谷歌搜索问题,但我不确定我在寻找什么,术语明智等等。

无论如何,有人能帮助我吗?

2 个答案:

答案 0 :(得分:13)

如果您可以更改定义x1x2x3的代码,则更简洁的方法是使用数组(即类似数组的表)。当您需要一个由数字索引的变量序列时,这是一般方法。

因此,您可以定义x1x2x3,而不是local x = {} x[1] = 10 -- instead of x1 x[2] = 20 -- instead of x2 x[3] = 30 -- instead of x3

xa

现在,您只需使用x[a]

,而不是使用{{1}}

答案 1 :(得分:5)

如果xa是全局变量,您可以像这样使用表_G

x1 = 42   
x2 = 43
x3 = 44 

local a = 2
print(_G['x' .. a])

输出:

43