Lua中表格的人类可读字符串表示形式
问题描述:
我是Lua的新手,想要打印表格的内容以进行调试。我可以通过迭代遍历表来做到这一点。但是,由于这是一个非常普遍的问题,所以我认为必须有一种开箱即用的方法,或者有人必须编写一个很好的库来实现这一点。 Lua的标准做法是什么?Lua中表格的人类可读字符串表示形式
答
是好还是坏的功能,也没有标准。 Lua以其所包含的内容而被排除在外。它没有对正确的字符串表示做出假设,因为没有一种真正的方法来处理格式,嵌套表,函数表示或表循环等。话虽如此,但以“电池供电”的Lua库开始并没有什么坏处。也许考虑Penlight。它的pl.pretty.write有窍门。
答
这是表序列化常见问题的一个实例。
对于一些严重的实现,请看看at the Table Serialization page at lua-users。
我扔掉它通常是迅速定义诸如
function lt(t) for k,v in pairs(t) do print(k,v) end end
借我看到的页面,但很难相信,这样一个共同的问题GET的解决了一遍又一遍,并在这样的详细方式。 – ajmurmann 2012-02-08 17:19:40
这就是为什么完整的Lua安装大约是1Mb(相对于43.3 MB的python)。你有一点,但是再一次,虽然你可能需要很多其他人可能不需要的功能(想想嵌入Lua)。您不需要一遍又一遍地实现它,只需将它放在一个文件中,并根据需要“需要”,或者将其放在'LUA_INIT'环境变量中,该变量将自动加载它(请参阅[* standalone *部分](http://www.lua.org/manual/5.2/manual.html#7)的手册)。 – jpjacobs 2012-02-08 17:45:15
@ajmurmann - 很难相信,真的。但是,Lua因其所包含的内容而被排除在外。它没有对正确的字符串表示做出假设,因为没有办法处理格式,嵌套表,函数表示或表循环等事情。话虽如此,但以“电池供电”的Lua库开始并没有什么坏处。也许考虑[Penlight](http://stevedonovan.github.com/Penlight/)。 [pl.pretty.write](http://stevedonovan.github.com/Penlight/api/modules/pl.pretty.html#write)可以做到这一点。 – 2012-02-08 17:59:19