lua 数组排列组合问题

tb={}
tb[1]={"A1","A2","A3"}
tb[2]={"B1","B2","B3","B4"}
tb[3]={"C1","C2","C3","C4","C5","C6"}
d={}
for a=1,#tb[1] do
    for b=1,#tb[2] do
        for c=1,#tb[3] do
            table.insert(d,{tb[1][a],tb[2][b],tb[3][c]})
        end
    end
end
    这是已知数组下标的情况下写的3层for循环能达到要求,那么要是下标是5 或者6呢,如何做到自适应?

循环,每次处理第n个和第n+1个的组合。

然后把结果再当成一个数组合n+2组合。三层循环就可以解决n为任意数的情况

还是没明白具体怎么写?

希望你给出问题的需求,然后还是不建议这种深层次的循环嵌套