lua中打印所以类型功能实现table嵌套table
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
lua中打印所以类型功能实现table嵌套table的更多相关文章
- lua中的string类型
在lua中用union TString来表示字符串类型 lobject.h: 其中结构体tsv中 reserved字段表示字符串是不是保留关键字,hash是其哈希值,len是其长度.我们在TStrin ...
- 配合bootstrap实现的table 嵌套table
不要忘了引入bootstrap.css库 html部分 <div class="container"> <div class="row"> ...
- table嵌套table,jquery获取tr个数
一.所有tr的个数 $("#tableId tr").length 二.所有一级tr的个数 1.$("#tableId > tr").length 2.$ ...
- Lua中的weak表——weak table
弱表(weak table)是一个很有意思的东西,像C++/Java等语言是没有的.弱表的定义是:A weak table is a table whose elements are weak ref ...
- Lua中的weak表——weak table(转)
弱表(weak table)是一个很有意思的东西,像C++/Java等语言是没有的.弱表的定义是:A weak table is a table whose elements are weak ref ...
- Lua中的类型与值
[基础介绍] Lua是一种动态类型的语言.在语言中没有类型定义的语法,每个值都带有其自身的类型信息.在Lua中有8中基本类型,分别是: nil(空)类型 boolean(布尔)类型 number(数字 ...
- Lua中使用table实现的其它5种数据结构
Lua中使用table实现的其它5种数据结构 lua中的table不是一种简单的数据结构,它可以作为其他数据结构的基础,如:数组,记录,链表,队列等都可以用它来表示. 1.数组 在lua中,table ...
- lua中基类和“继承机制”
基类:基类定义了所有对于派生类来说普通的属性和方法,派生类从基类继承所需的属性和方法,且在派生类中增加新的属性和方法. 继承:继承是C++语言的一种重要机制,它允许在已定义的类的基础上产生新类. lu ...
- Lua 中的string库(字符串函数库)总结
(字符串函数库)总结 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014-11-20我要评论 这篇文章主要介绍了Lua中的string库(字符串函数库)总结,本文讲解了string库 ...
随机推荐
- Qt中的对象类型转换(Qstring 转换char*有三种方法)
char * 与 const char *的转换 char *ch1="hello11"; const char *ch2="hello22"; ch2 = c ...
- mysql ifnull if
IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2.IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境. mysq ...
- Linux学习:find、chmod、ps命令
下面介绍下linux下find.chmod.ps这三个常见命令的使用. 这每个命令都有很多可选的参数,不同参数体现的功能不一样.我们这里不一一介绍各种参数的含义,只介绍最常见的使用场景. 一.find ...
- Linux学习:netstat命令
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态等.对于开发来说,很多时候用于查看端口占用情况. 执行netstat命令,其输出结果可以分成两部分: 1)一是“Active ...
- python none,null,,,,,类型
内建类型None表示一个空对象,没有方法和属性. None是一个特殊的常量. None和False不同. None不是0. None不是空字符串. None和任何其他的数据类型比较永远返回False. ...
- 基于visual Studio2013解决C语言竞赛题之0408素数
题目 解决代码及点评 判断一个数是不是素数的方法,一般是看n是不是能被n以内的某个整数(1除外)整除 为了提高效率,这个整数范围一般缩小到n的平方根 如果在这个范围内的整数都不能整除,那么 ...
- Strategic Game(匈牙利算法,最小点覆盖数)
Strategic Game Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 【JUnit4.10源码分析】5 Statement
假设要评选JUnit中最最重要的类型.或者说核心,无疑是org.junit.runners.model.Statement.Runner等类型看起来热闹而已. package org.junit.ru ...
- AFNetworking 3.0x版本最新特性
AFNetworking是一款在OS X和iOS下都令人喜爱的网络库.为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持. ...
- int_float_double数据类型的存储格式。
一段用来检测编辑器存储方式的程序 //date : 2013/8/16 //designer :pengxiaoen //function check the C programmable langu ...