天天看点

Lua非常有用的工具——递归打印表数据

lua是一种非常小巧的语言。虽小,但五脏俱全。

在lua中,我认为最最核心的数据结构就是表。表不仅可用作数组,还可以用作字典。lua面向对象的实现也是用表实现的。

表对于lua实在是太重要了!所以,在开发与调试过程中,让表可视化是非常迫切的需求。可lua标准库里没有递归显示表中所有数据的函数。

于是,凭着对lua的兴趣,我写了一个函数用于递归打印表中所有的数据。

废话不多话,如下为源代码:

该库对外只提供了3个函数:

table_print(table_name)        递归打印表中的所有数据

table_tostring(table_name)   将表转换成字符串

table_lib_test()     模块自测函数(测试用的)

将该源码保存在lua的库路径下的叫 table_lib.lua 文件里。在命令终端运行 lua

我们可以自己试一试:

就是这效果。

再试试打印 _g 表的内容,会有意想不到的惊喜。

当然,目前还不够完善,只能说是将就用,还有很多地方需要改进的。希望大家多多提意见。