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

假设我有预定义的三个变量,x1x2x3,每个变量是屏幕上的不同坐标。我有一整块代码来决定另一个变量 a 是否等于 123。现在,我想在变量名中包含 a 的值,从而允许我在 x1x2x3 之间 '动态' 更改。

例如,a 被设置为 2。现在我想将鼠标移动到 xa,所以如果 a=2,则 xa 是预定义的变量 x2

很明显我是Lua的新手,我试过在Google上搜索这个问题,但我不是很确定我在寻找什么,术语等方面。

总之,有人能帮我吗?

点赞
用户1009479
用户1009479

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

x1 = 42
x2 = 43
x3 = 44

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

输出结果为:

43
2013-11-06 08:55:16
用户2633423
用户2633423

如果你可以改变定义 x1x2x3 的代码,更好的方式是使用数组(即类似表格的数组)。当你需要按数字索引序列变量时,这是一种通用的方法。

因此,你可以定义以下代码:

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

现在,你可以用 x[a] 代替 xa

2013-11-06 09:59:58