2
我一直在学习Lua几个星期,这是我一次又一次的问题。我曾尝试阅读有关此主题的帖子和书籍。Lua-迭代嵌套表
我使用Lua来查询软件监控系统(Nimsoft),我的数据在表中返回给我。
我不会发布整体输出,但这里是一个片段,我认为将描述结构:
表全球化志愿服务青年是“h_resp”
root:
domain:nevil-nmsdom
robotlist:
1:
ssl_mode:0
os_user2:
origin:nevil-nmshub
os_major:UNIX
ip:192.168.1.58
os_minor:Linux
addr:/nevil-nmsdom/nevil-nmshub/nevil-multibot_03
status:0
license:1
last_inst_change:1340754931
created:1341306789
offline:0
last_change:1341306869
lastupdate:1344522976
autoremove:0
os_user1:
flags:1
os_description:Linux 2.6.32-5-amd64 #1 SMP Mon Jan 16 16:22:28 UTC 2012 x86_64
name:nevil-multibot_03
metric_id:M64FB142FE77606C2E924DD91FFCC3BB4
device_id:DDFF83AB8CD8BC99B88221524F9320D22
heartbeat:900
port:48100
version:5.52 Dec 29 2011
2: etc...etc....
我使用TDUMP功能我在此发现论坛来实现这一点。
for k,v in pairs(h_resp) do
print(k.." ",v)
end
给我顶层,我明白这一点。
domain nevil-nmsdom
robotlist table:0x22136a0
然后我试图让“robotlist”
for k,v in pairs(h_resp.robotlist) do
print(k.." ",v)
end
正如你可以看到下面的索引是整数和VALES另一个表。
1 table:0x237e530
0 table:0x22112a0
3 table:0x2211460
2 table:0x2392ee0
5 table:0x2213e80
4 table:0x22130e0
7 table:0x2283b80
6 table:0x2283ff0
8 table:0x22a71e0
我也得到了事实,我可以用解决这些“嵌套”表中的一个:
for k,v in pairs(h_resp.robotlist["0"]) do
print(k.." ",v)
end
ssl_mode 0
os_user2
origin network
os_major UNIX
ip 192.168.1.31
os_minor Linux
addr /nevil-nmsdom/nevil-nmshub/nevil-mysql
status 0
...etc...etc...
我的观点,我不知道如何问Lua的迭代所有存储在表在机器人列表中。
第二我为冗长的电子邮件appologise,但我仍然试图学习/理解这一点....我没有以前的编程/脚本体验。
感谢
啊RTFM'd! :D 我有阅读手册,甚至买了一本书!但是,目前的超低噪音技术,我希望手册等我学得越多越有意义。感谢您回答我的问题。 – Teknetik 2012-08-09 15:23:02
现在我害怕,如果我真的**帮助**你发布完整的答案。请**请理解**我发布的代码。 – 2012-08-09 15:24:18
我想了解我的信任:) 没有意义的只是复制粘贴...你说的是几乎完美的意义,但是我不确定我使用的LUA的实现有DeepPrint功能(lua interpriter与软件) – Teknetik 2012-08-09 15:42:09