簡體   English   中英

動態引用變量

[英]Referencing variables dynamically

我正在嘗試根據 Lua 中 function 的返回動態引用變量。 我有幾個變量,我可以單獨引用它們,但我正在嘗試清理代碼並找到一種動態引用它們的方法。

我已經嘗試了幾種不同的方法來得到這個 function,老實說我不確定它是否可以完成。 我到處尋找解決這個問題的地方,我發現只有關於創建動態變量而不是動態引用變量的說明。

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

我正在嘗試獲取變量值,但是對於所有示例,我只能將變量名稱作為字符串接收。

首先,考慮使用表而不是全局變量(盡可能避免使用它們):

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM