lua 中不同频率的表中的两个循环
Two loops from tables at different frequencies in lua
我正在构建一个循环,它应该使用不同的频率来切换到下一个值。一个例子:
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.......
我无法在循环中得到循环,因为我不能让 table 组在 2 个循环中只向上移动一次。同样使用双精度值或使用 [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
我正在构建一个循环,它应该使用不同的频率来切换到下一个值。一个例子:
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.......
我无法在循环中得到循环,因为我不能让 table 组在 2 个循环中只向上移动一次。同样使用双精度值或使用 [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