我有一个名为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个字符串,我只得到第七个字符串而不是所有七个字符串。
我该如何解决这个问题?
答案 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