Lua -- 将字符串拆分为变量并还原

我无法理解这个问题。也许你可以试试。

return function()
local handle = get.handle
local group1 = handle('group 1') --返回group 1的名称标签
local group2 = handle('group 2')

for i=1,6
  do
local groupx = group1 -- 将group1 转换为 groupx,因为我还有 group2 等。
-- 处理group1 --
local groupx = string.sub(groupx, 6)
print(groupx) -- 数字1
local groupx = groupx +1
print(groupx) -- 数字2.0
local groupx = string.format("%.f",groupx)
fdb(groupx) -- 数字2
groupx = string.format('group%s', groupx)
fdb(groupx) -- 显示 group2
-- 处理group2 --
  end
end

看起来好像不起作用。我不能只是通过每次循环添加1个整数来从group1到group6进行循环。我找到了gsub,但那主要是使用只有文本字符串的变量,而不是每次循环都会改变的变量。

请问有人能帮我编写正确的代码吗? 我的感激将是巨大的。

顺祝商祺, Martijn

点赞
用户33252
用户33252

你似乎混淆了变量和字符串。一般情况下,本地变量在运行时没有字符串名称。

以下是一些更直接的方法...

local groups = {handle('group 1'),
                handle('group 2'),
                handle('group 3'),
                handle('group 4'),
                handle('group 5'),
                handle('group 6')}
for i = 1, 6 do
    local groupx = groups[i]
    -- 等等。
end

或者

for i = 1, 6 do
    local groupx = handle(string.format('group %d', i))
    -- 等等。
end

或者

local groups = {}
for i = 1, 6 do
    groups[i] = handle(string.format('group %d', i))
end
for i = 1, 6 do
    local groupx = groups[i]
    -- 等等。
end
2018-04-09 22:28:33