7

假设我预定义了 3 个变量,x1x2x3,每个变量都是屏幕上的不同坐标。我有一整段代码来决定另一个变量是否a等于1,23. 现在,我想在变量名中包含 a 的值,允许我在x1x2x3.

例如a设置为2。现在我想将鼠标移动到xa, 所以 if a=2, xais x2, 这是一个预定义的变量。

可能很清楚我对 Lua 很陌生,我尝试过用谷歌搜索这个问题,但我不确定我在寻找什么,术语等。

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

4

2 回答 2

13

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

因此,代替x1,您可以定义:x2x3

local x = {}
x[1] = 10  -- instead of x1
x[2] = 20  -- instead of x2
x[3] = 30  -- instead of x3

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

于 2013-11-06T09:59:58.433 回答
5

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

x1 = 42   
x2 = 43
x3 = 44 

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

输出:

43
于 2013-11-06T08:55:16.630 回答