动态引用变量

问题描述 投票:0回答:1

我正在尝试基于Lua中函数的返回来动态引用变量。我有几个变量,可以单独引用它们,但是我试图清理代码并找到一种动态引用它们的方法。

我已经尝试了几种不同的方法来使它起作用,但老实说,我不确定它是否可以完成。我想解决这个问题的每个地方都只找到有关创建动态变量的说明,而不是动态引用变量。

varExample_1 = 3,
varExample_2 = 3,
varExample_3 = 5,
varExample_5 = 4,
varExample_4 = 2,

newVar = "varExample_" .. GetExampleType(call)

--or more specifically 

if 8 > varExample_ .. GetExampleType(call) then return false end

我正在尝试获取变量值,但是在所有示例中,我只能以字符串形式接收变量名。

variables lua
1个回答
0
投票

首先,请考虑使用表而不是全局变量(请尽可能避免使用它们:]

local varExample = {}
varExample[1] = 3,
varExample[2] = 3,
varExample[3] = 5,
varExample[5] = 4,
varExample[4] = 2,

甚至更好

local varExample = {3, 3, 5, 4, 2}

然后

if 8 > varExample[GetExampleType(call)] then return false end

但是您坚持使用全局变量,可以使用_G来访问它们:

if 8 > _G["varExample_"..GetExampleType(call)] then
© www.soinside.com 2019 - 2024. All rights reserved.