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

Tom*_*mha 7 variables lua

可以说我有预先定义的3个变量,x1,x2,和x3,其中每一个是在屏幕上的不同坐标.我有一个代码块整体来决定另一个变量是否a将等于1,23.现在,我想在一个变量名的价值,让我"动态"变化之间x1,x2x3.

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

它可能很清楚我对Lua很新,我试过谷歌搜索问题,但我不确定我在寻找什么,术语明智等等.

无论如何,是否有人能够帮助我?

Lor*_*ica 13

如果可以改变代码,其中x1,x2x3被定义,清洁器的方法是使用阵列(即阵列状的表).当您需要一个由数字索引的变量序列时,这是一般方法.

因此,代替x1,x2并且x3您可以定义:

local x = {}
x[1] = 10  -- instead of x1
x[2] = 20  -- instead of x2
x[3] = 30  -- instead of x3
Run Code Online (Sandbox Code Playgroud)

现在,而不是使用xa你只需使用x[a].


Yu *_*Hao 5

如果xa是全局变量,您可以使用如下表_G:

x1 = 42   
x2 = 43
x3 = 44 

local a = 2
print(_G['x' .. a])
Run Code Online (Sandbox Code Playgroud)

输出:

43
Run Code Online (Sandbox Code Playgroud)