假设我预先定义了3个变量x1
,x2
和x3
,每个变量都是屏幕上不同的坐标。我有一大堆代码来决定另一个变量a
是否等于1
,2
或3
。现在,我想在变量名中包含a的值,允许我在x1
,x2
和x3
之间“动态”更改。
E.g。 a
设置为2
。现在我想将鼠标移至xa
,因此如果a=2
,xa
为x2
,则为预定义变量。
很明显我对Lua很新,我试过谷歌搜索问题,但我不确定我在寻找什么,术语明智等等。
无论如何,有人能帮助我吗?
答案 0 :(得分:13)
如果您可以更改定义x1
,x2
和x3
的代码,则更简洁的方法是使用数组(即类似数组的表)。当您需要一个由数字索引的变量序列时,这是一般方法。
因此,您可以定义x1
,x2
和x3
,而不是local x = {}
x[1] = 10 -- instead of x1
x[2] = 20 -- instead of x2
x[3] = 30 -- instead of x3
。
xa
现在,您只需使用x[a]
。
答案 1 :(得分:5)
如果xa
是全局变量,您可以像这样使用表_G
:
x1 = 42
x2 = 43
x3 = 44
local a = 2
print(_G['x' .. a])
输出:
43