Lua中表格的可读字符串表示形式。

我是 Lua 的新手,想要打印表格的内容来进行调试。我可以通过自己迭代表格来实现。然而,既然这个问题非常普遍,我期望必须有一个现成的方法或者有人已经写了一个不错的库来完成这个任务。在 Lua 中,怎样是标准的方法来实现这个问题呢?

原文链接 https://stackoverflow.com/questions/9197392

点赞
stackoverflow用户513763
stackoverflow用户513763

这是表格串行化问题的一个实例。

可以查看lua-users的“表格串行化”页面了解一些严肃实现。

我通常会快速定义一个函数,例如

function lt(t) for k,v in pairs(t) do print(k,v) end end
2012-02-08 16:56:23
stackoverflow用户7625
stackoverflow用户7625

对于好坏而言,Lua 没有标准。 Lua 以它所排除的东西而闻名,就和它所包含的一样。它不会对合适的字符串表示形式做出任何假设,因为处理类似于格式、嵌套表、函数表示或表循环这样的东西没有一个真正正确的方式。话虽如此,使用“内含电池”的 Lua 库也不会有害。或许可以考虑使用 Penlight。它的 pl.pretty.write 会有所帮助。

2012-02-09 04:36:18
stackoverflow用户207927
stackoverflow用户207927

请查看 https://github.com/rimar/lua-reactor-light/blob/master/util.lua 中的 table.print 函数,很可能是从 lualogging 库中借鉴过来的。

2013-01-28 21:57:17