Variables 动态引用变量
我试图根据Lua中函数的返回动态引用一个变量。我有几个变量,我可以分别引用它们,但我正在尝试清理代码并找到一种动态引用它们的方法 我已经尝试了几种不同的方法来实现这个功能,但我真的不确定它是否可以实现。无论我在哪里寻找解决这个问题的方法,我都只能找到关于创建动态变量而不是动态引用变量的说明Variables 动态引用变量,variables,lua,Variables,Lua,我试图根据Lua中函数的返回动态引用一个变量。我有几个变量,我可以分别引用它们,但我正在尝试清理代码并找到一种动态引用它们的方法 我已经尝试了几种不同的方法来实现这个功能,但我真的不确定它是否可以实现。无论我在哪里寻找解决这个问题的方法,我都只能找到关于创建动态变量而不是动态引用变量的说明 varExample_1=3, varExample_2=3, varExample_3=5, varExample_5=4, varExample_4=2, newVar=“varExample”。。Get
varExample_1=3,
varExample_2=3,
varExample_3=5,
varExample_5=4,
varExample_4=2,
newVar=“varExample”。。GetExampleType(调用)
--或者更具体地说
如果8>变量示例。。GetExampleType(调用)然后返回FalseEnd
我试图得到变量值,但是对于所有的例子,我只能得到变量名作为字符串。 首先,考虑使用表代替全局变量(尽可能避免它们): 甚至更好
local varExample = {3, 3, 5, 4, 2}
然后
if 8 > varExample[GetExampleType(call)] then return false end
但是您坚持使用全局变量,可以使用访问它们:
if 8 > _G["varExample_"..GetExampleType(call)] then
首先,考虑使用表代替全局变量(尽可能避免它们):
甚至更好
local varExample = {3, 3, 5, 4, 2}
然后
if 8 > varExample[GetExampleType(call)] then return false end
但是您坚持使用全局变量,可以使用访问它们:
if 8 > _G["varExample_"..GetExampleType(call)] then
通过使用表而不是全局变量,您的生活会变得更加轻松。我正在保存这些变量的选项,并使用varExample作为默认值。我认为varExample[1]
也非常可读,所以没有理由不使用表?如果8>\u G[“varExample”..GetExampleType(call)],那么
请注意\u G[…]
part。使用table而不是全局变量会让你的生活变得更轻松。我正在保存这些变量的选项,并使用varExample\u*作为默认值。我认为varExample[1]
也很可读,所以没有理由不使用table?if 8>\u G[“varExample\u2.”GetExampleType(调用)]然后
注意\u G[…]
部分。无法按建议使用,因为变量位于现有设置表中,每次尝试时都会出错。但是,它确实让我想到使用辅助表,将现有变量分配到该表中,然后使用该设置表。非常感谢您的帮助。无法按建议使用,因为变量位于现有设置表中,每次尝试时都会出错。但是,它确实让我想到使用辅助表,并将现有变量分配到该表中,然后使用有效的设置表。非常感谢你的帮助。