lua中打印所以类型功能实现本人测试 number、string、bool、nil、table嵌套table、userdata没问题 共享一下有什么问题请拍砖推荐阅读:Lua 语言 15 分钟快速入门 http://www.linuxidc.com/Linux/2013-06/86582.htmLua程序设计(第2版)中文 PDF http://www.linuxidc.com/Linux/2013-03/81833.htmLua程序设计(第二版)阅读笔记 http://www.linuxidc.com/Linux/2013-03/81834.htmNetBSD 将支持用 Lua 脚本开发内核组件 http://www.linuxidc.com/Linux/2013-02/79527.htmCentOS 编译安装 Lua LuaSocket http://www.linuxidc.com/Linux/2011-08/41105.htm代码如下cclog = function( ... ) local tv = "
" local xn = 0 local function tvlinet(xn) -- body for i=1,xn do tv = tv.." " end end local function printTab(i,v) -- body if type(v) == "table" then tvlinet(xn) xn = xn + 1 tv = tv..""..i..":Table{
" table.foreach(v,printTab) tvlinet(xn) tv = tv.."}
" xn = xn - 1 elseif type(v) == nil then tvlinet(xn) tv = tv..i..":nil
" else tvlinet(xn) tv = tv..i..":"..tostring(v).."
" end end local function dumpParam(tab) for i=1, #tab do if tab[i] == nil then tv = tv.."nil " elseif type(tab[i]) == "table" then xn = xn + 1 tv = tv.."
table{
" table.foreach(tab[i],printTab) tv = tv.." }
" else tv = tv..tostring(tab[i]).." " end end end local x = ... if type(x) == "table" then table.foreach(x,printTab) else dumpParam({...}) -- table.foreach({...},printTab) end print(tv) end使用示例如下代码 local ttt = {23,aa=23,23, {bbb=23,"dsd",false,nil, {32,ccc="23dd", {23,"sdfsdf", {234,addd="23233jjjjsdOK"} } } }, {dd = "sd",23}, true } cclog(23,"sdf",ttt,"sdssssf",323223,false)输出日志如下:Cocos2d: [LUA-print] 23 sdf table{ 1:23 2:23 3:Table{ 1:dsd 2:false 4:Table{ 1:32 2:Table{ 1:23 2:sdfsdf 3:Table{ 1:234 addd:23233jjjjsdOK } } ccc:23dd } bbb:23 } 4:Table{ 1:23 dd:sd } 5:true aa:23 } sdssssf 323223 false Lua 的详细介绍:请点这里 Lua 的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-05/101390.htm