博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lua中打印所以类型功能实现table嵌套table
阅读量:4348 次
发布时间:2019-06-07

本文共 2043 字,大约阅读时间需要 6 分钟。

lua中打印所以类型功能实现

本人測试 number、string、bool、nil、table嵌套table、userdata没问题 共享一下有什么问题请拍砖 代码例如以下 

cclog = function( ... )    local tv = "\n"    local xn = 0    local function tvlinet(xn)        -- body        for i=1,xn do            tv = tv.."\t"        end    end    local function printTab(i,v)        -- body        if type(v) == "table" then            tvlinet(xn)            xn = xn + 1            tv = tv..""..i..":Table{\n"            table.foreach(v,printTab)            tvlinet(xn)            tv = tv.."}\n"            xn = xn - 1        elseif type(v) == nil then            tvlinet(xn)            tv = tv..i..":nil\n"        else            tvlinet(xn)            tv = tv..i..":"..tostring(v).."\n"         end    end    local function dumpParam(tab)        for i=1, #tab do              if tab[i] == nil then                 tv = tv.."nil\t"            elseif type(tab[i]) == "table" then                 xn = xn + 1                tv = tv.."\ntable{\n"                table.foreach(tab[i],printTab)                tv = tv.."\t}\n"            else                tv = tv..tostring(tab[i]).."\t"            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

转载于:https://www.cnblogs.com/mengfanrong/p/3885589.html

你可能感兴趣的文章
Comparison among several SGD derivation
查看>>
ModelAndView同时向页面传递多个参数
查看>>
samba 配置参数详解
查看>>
python基础09_文件操作
查看>>
mvn install selenium依赖包
查看>>
关于SQL的相关笔记【长期更新,只发一帖】
查看>>
linux awk命令详解
查看>>
android:id="@+id/button1" 与 android:id="@id/button1" 区别 @string
查看>>
手把手玩转win8开发系列课程(11)
查看>>
Linux Namespace : User
查看>>
交换两个整形变量的数值
查看>>
Linux----常用操作
查看>>
sequence
查看>>
Delphi错误:Stack overflow的解决方法
查看>>
取消chrome(谷歌浏览器)浏览器下最小字体限制
查看>>
模板方法模式
查看>>
什么是ECC内存?
查看>>
使用Visual Studio 2013进行UI自动化测试
查看>>
13-集体照
查看>>
读了曾国藩家书,,心态逐渐平和起来。搞技术的如果缺乏信念的指引,生活会很乏味无聊!...
查看>>