For loop lua中不同频率下的表中的两个回路

For loop lua中不同频率下的表中的两个回路,for-loop,lua,lua-table,For Loop,Lua,Lua Table,我正在构建一个环路,它应该使用不同的频率来切换到下一个值。例如: local color = {"Blue", "Green", "Red"} local group = {1, 2, 3} for i=1.3 do cmd(string.format('group %i ; store color %q ; clearall', group[i], color[j])) end 这将导致: Group 1 Blue, Group 1 Green, Group 1 Red, Group

我正在构建一个环路,它应该使用不同的频率来切换到下一个值。例如:

local color = {"Blue", "Green", "Red"}
local group = {1, 2, 3}

for i=1.3 do
  cmd(string.format('group %i ; store color %q ; clearall', group[i], color[j]))
end
这将导致:

Group 1 Blue,
Group 1 Green,
Group 1 Red,
Group 2 Blue.......
我不能在循环中得到循环,因为我不能让表组在两个循环中只向上移动一次。同样,使用双值或使用[i]两次似乎也不起作用


我希望您能帮助我。

将循环运行九次迭代(这是您正在进行的组合数),然后使用
math.floor
计算索引:

local color = {"Blue", "Green", "Red"}
local group = {1, 2, 3}
for i=0, #color*#color-1 do
    local g = math.floor(i/3)
    local c = i-3*g
    print(string.format('group %i ; store color %q ; clearall', group[g+1], color[c+1]))
end

更简单的版本

for i,v in pairs(group) do
for k,c in pairs(color) do
print("Group " .. v .. " " .. c)
end
end

非常简单,它所做的是同时遍历组数组和颜色数组并打印出每个值,每次遍历组数组时,它遍历颜色数组中的所有项,Lua内置了合并字符串的技术,您不需要使用字符串库:)

考虑到
'
'


您能给出预期的完整输出吗?您能解释一下这句话的意思吗:“我不能让表组在两个周期中只向上移动一次”?
for i=1, #color do 
  for _, v in pairs(color) do
      print('group '..i..' ; store color "'..v..'" ; clearall')
  end
end