微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

打印lua中的table

好像很多人都写过这样的代码,我是今天确实需求这样的功能才想到要写一个,一开始感觉应该不是很难,结果写了下发现原来没有那么容易,搜了下,看到了云风写的一个,不过他是树形打印出来,大家可以看这里 http://blog.codingnow.com/2009/05/print_r.html 我觉得不够优美,还是按照大家写 lua 的 table 的习惯来打印才比较优美,比如


local a = {
    tbNum = {1,2,3,4},tbItemInfo = {
        [1] = { 50,{2,1,5},0 },},["aaaaaaa"] = {"fadsfasdf",{1}},}


这样的table,如果打印出来应该是这样的效果


代码在这里


打印 lua 的 table


学习云风大侠的作风,讲一下难点,一个是注意缩进的 upvalue 的运用,另一个是要记得处理 table 最后一个大括号以及逗号的打印。


这样打印出来的 table 完全符合 lua 的语法规范,可以直接复制进去供 lua 调用,同时略加修改,把 print 的地方用字符串拼接起来其实就是把一个 lua table序列化的过程,我也是这么用的,但愿对大家有帮助。


目前还不支持 key 为 table,因为是自己还没想好如果 key 是 table 的时候怎么打印出来比较优美。找到了方法加上。但愿不要跟以前一样,一放下就忘了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐