无法使用for循环重复lua中的部分代码

时间:2014-03-21 21:05:10

标签: loops for-loop lua

我有一个名为rs的表,它包含7个(比如n)字符串。 对于#rs,我希望OBX段按如下方式迭代它:

for i=1, #rs, 1 do
Msg.OBX[5][1] = rs[i]
end

作为我的输出,我想:

Msg.OBX[5][1] = first string
Msg.OBX[5][1] = second string
Msg.OBX[5][1] = third string

重复#rs次

但是我从上面的代码得到的只是一个对应于最后一个字符串的段,即如果我在rs中有7个字符串,我只得到第七个字符串而不是所有七个字符串。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

除非您有打印声明,否则无法获得该输出。请改为Msg.OBX[5][i] = rs[i]。但是你会有

Msg.OBX[5][1] = first string
Msg.OBX[5][2] = second string
Msg.OBX[5][3] = third string
...

这可能是你真正追求的。如果仍然无效,请尝试

Msg.OBX[5][1] = {}
for i=1, #rs do
    table.insert(Msg.OBX[5][1], rs[i])
end

如果你仍然没有从rs获取所有字符串到OBX,那么你的rs表可能有整体,所以试试这个:

for i,v in ipairs(rs) do print(i,v) end

如果这不打印以下内容,则rs有洞或不是数组,因此您无法使用#

1      first string
2      second string
...
7      seventh string