如何在Lua中找到表中所有可能的字符连接



如何找到表中所有可能的字符连接并将它们显示为带有新行的字符串?

例如,我有一个包含字符的表数组:
c={
{'1','2','3'},
{'a','b','c'},
{'A','B','C'}
}

我想找到所有像

这样的可能的连接
1aA
1aB
1aC
-- second table second character
1bA
1bB
1bC
-- second table third character
1cA
1cB
1cC
-- first table second character
2aA
2aB
2aC
-- and so on...

无论有多少字符,都可以有许多表。谢谢你的帮助!

编辑:

我在这里找到了答案,

https://forum.cheatengine.org/viewtopic.php?p=5773931 # 5773931

该算法假设每行中总是有相同数量的值,根据该假设,我们可以说您有(#c[1])^(#c)值并使用此信息来平坦表。

c = {
{'1','2','3'},
{'a','b','c'},
{'A','B','C'},
}
local columns = #c[1]
local rows = #c
for i = 0, (columns)^(rows) - 1 do
local output = ""
for k, v in ipairs(c) do
output = output .. v[i % ((columns)^k) // ((columns)^(k - 1)) + 1]
end
print(output)
end

输出:

1aA
2aA
3aA
1bA
2bA
3bA
1cA
2cA
3cA
1aB
2aB
3aB
1bB
2bB
3bB
1cB
2cB
3cB
1aC
2aC
3aC
1bC
2bC
3bC
1cC
2cC
3cC

最新更新