如何在Lua中创建动态变量名?

jin*_*ini 6 lua

我是Lua的新手,遇到了一些困难:

我正在尝试创建动态变量名称:

local tblAlphabet = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};

local count = 0;

for k, v in pairs (tblAlphabet) do

  count = count + 1;

  [v.."button"]  = ui.newButton{ --HOW DO I MAKE THIS WORK? I get syntax error

--some code here

  }
Run Code Online (Sandbox Code Playgroud)

pon*_*zao 15

您可以创建一个包含变量的表.

local tblAlphabet = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"}
local vars = {}
for k, v in pairs(tblAlphabet) do
    vars[v .. "_button"] = ui.newButton()
end
Run Code Online (Sandbox Code Playgroud)

然后您可以vars通过迭代器或直接访问(vars.a_button)来访问.


Jav*_*ier 8

目前尚不清楚你想做什么; 但是如果你想以编程方式创建许多全局变量,请记住全局变量是_G表的字段:

_G['anyvar'] = 'something'
print (anyvar)
Run Code Online (Sandbox Code Playgroud)