Lua中表的人类可读字符串表示

时间:2012-02-08 16:28:04

标签: lua

我是Lua的新手,想要打印表的内容以进行调试。我可以通过自己迭代表来做到这一点。然而,由于这是一个非常普遍的问题,我希望必须有一个开箱即用的方式,或者有人必须编写一个很好的库来做到这一点。在Lua中这样做的标准方法是什么?

3 个答案:

答案 0 :(得分:3)

这是表序列化的一般问题的一个实例。

看看at the Table Serialization page at lua-users进行一些严肃的实施。

我对它的抛出通常很快就会定义像

这样的函数
function lt(t) for k,v in pairs(t) do print(k,v) end end

答案 1 :(得分:3)

无论好坏,都没有标准。 Lua以其所包含的内容而闻名。它没有对正确的字符串表示做出假设,因为没有一种真正的方法来处理格式,嵌套表,函数表示或表循环等事情。话虽如此,从“包含电池”的Lua库开始并没有什么坏处。也许考虑Penlight。它的pl.pretty.write可以解决问题。

答案 2 :(得分:1)

请参阅https://github.com/rimar/lua-reactor-light/blob/master/util.lua中的table.print,它可能是从lualogging库中借来的