文档章节

一个很棒的lua函数 用来打印table的内容

超级大黑猫
 超级大黑猫
发布于 05/31 19:54
字数 121
阅读 15
收藏 0
点赞 0
评论 0
function print_r ( t )  
    local print_r_cache={}
    local function sub_print_r(t,indent)
        if (print_r_cache[tostring(t)]) then
            print(indent.."*"..tostring(t))
        else
            print_r_cache[tostring(t)]=true
            if (type(t)=="table") then
                for pos,val in pairs(t) do
                    if (type(val)=="table") then
                        print(indent.."["..pos.."] => "..tostring(t).." {")
                        sub_print_r(val,indent..string.rep(" ",string.len(pos)+8))
                        print(indent..string.rep(" ",string.len(pos)+6).."}")
                    elseif (type(val)=="string") then
                        print(indent.."["..pos..'] => "'..val..'"')
                    else
                        print(indent.."["..pos.."] => "..tostring(val))
                    end
                end
            else
                print(indent..tostring(t))
            end
        end
    end
    if (type(t)=="table") then
        print(tostring(t).." {")
        sub_print_r(t,"  ")
        print("}")
    else
        sub_print_r(t,"  ")
    end
    print()
end

table.print = print_r

table.print( myTable )

 

© 著作权归作者所有

共有 人打赏支持
超级大黑猫
粉丝 4
博文 95
码字总数 36018
作品 0
杭州
程序员
Lua非常有用的工具——递归打印表数据

Lua是一种非常小巧的语言。虽小,但五脏俱全。 在Lua中,我认为最最核心的数据结构就是表。表不仅可用作数组,还可以用作字典。Lua面向对象的实现也是用表实现的。 表对于Lua实在是太重要了!...

临峰不畏
2015/04/30
0
1
Lua4.0 参考手册(七)6.1

(接上篇) -------------------------------------- 6 标准库 -------------------------------------- 标准库提供了一些有用的函数,这些函数直接由标准 API 实现。因此,它们并非语言必需...

晓寒
2014/11/11
0
0
Lua Starter

标签: Lua Lua starter Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua 是巴西里约热...

维特的烦恼
2016/07/21
486
0
ngx_lua_API 指令详解(一)ngx.timer.at 指令

语法: ok,err = ngx.timer.at(delay,callback,userarg1,userarg2 ...) 上下文: initworkerbylua *,setbylua *,rewritebylua *,accessbylua *,contentbylua *,headerfilterbylua......

tinywan1227
2017/05/04
0
0
如何在Lua与C/C++之间实现table数据的交换

之前在《C/C++和Lua是如何进行通信的?》一文中简单的介绍了lua与宿主之间的通信。简单的说两种不同的语言之间数据类型不一样又如何进行数据交换呢?那就是luaState虚拟栈,通过栈操作和lua...

borey
2015/04/10
0
0
【Lua高级教程】什么是Metatable举例说明

什么是Metatable metatable是Lua中的重要概念,每一个table都可以加上metatable,以改变相应的table的行为。 Metatables举例 lotable =lometatable =(lotable) 上边的代码也可以写成一行,如...

浩浩老师
2015/09/08
81
0
添加了 CAN 驱动的 Lua--LuaCan

关于 LuaCAN = Lua + CAN,给Lua解释器添加了CAN扩展,实现通过Lua语言操作CAN卡,进行CAN通讯的功能。使用这个工具,只要能用Lua语言打印HelloWorld以及实现一个 ∑功能的函数就行了。 使用...

小浣熊hhuc
2016/12/26
1K
3
[Lua]Lua高级教程Metatables

什么是Metatable metatable是Lua中的重要概念,每一个table都可以加上metatable,以改变相应的table的行为。 Metatables举例 -- 声明一个正常的关系变量 lotable = {} -- 声明空元表变量 lo...

浩浩老师
2015/10/20
21
0
Lua1.1 Lua 的参考手册 (三)

(接上篇) -------------------------------------- 7 一些例子 -------------------------------------- 本段给出一些显示 Lua 特性的例子。它并不打算覆盖完整的语言,只是显示一有趣的使...

晓寒
2014/09/04
152
0
数据持久化,序列化,反序列化,文件读写

文章来自:http://mobile.51cto.com/iphone-286562.htm LUA脚本语言之数据文件与持久化是本文要介绍的内容,当我们处理数据文件的,一般来说,写文件比读取文件内容来的容易。因为我们可以很...

xiao理想
2014/09/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Python数据分析numpy(1)

Python开源的科学计算基础库 1.表示N维数组对象ndarray 2.线性代数、傅里叶变换、随机数生成 3.广播函数,整合c++、c 一.数据的维度 1.数据 2.数据维度 3.一维数据 (1)特点 (2)Python中的...

十年磨一剑3344
1分钟前
0
0
csv导入Hive脚本

from pyspark.sql import HiveContexthivec = HiveContext(sc) # 创建一个hivecontext对象用于写执行SQL,sc为sparkcontext# 拼接一个字段类型字符串str_s = 'label String,'...

gulf
4分钟前
0
0
TensorFlow 隐含层 拟合 异或运算

a⊕b = (¬a ∧ b) ∨ (a ∧¬b) 数据 X = [[0, 0], [0, 1], [1, 0], [1, 1]]Y = [[0], [1], [1], [0]] 单层网络只能拟合线性问题,由于异或是非线性问题,需要使用多层网络 输入和输出 [[...

阿豪boy
18分钟前
0
0
SVN 教程

http://www.runoob.com/svn/svn-tutorial.html

yeahlife
18分钟前
0
0
在Python中,不用while和for循环遍历列表

a = [1, 2, 3, 8, 9]def printlist(l, index): if index == len(l): return else: print(l[index]) printlist(l, index + 1)printlist(a,......

丁典
19分钟前
0
0
Kubernetes使用中发现的错误及解决

运行 kubectl dashboard 时报错: Error validating service: Error getting service kubernetes-dashboard: services "kubernetes-dashboard" not found 排查 kubectl get po --all-names......

哎码
25分钟前
0
0
在git上面找开源项目遇到的坑

1,不写安装环境。 2,不写包版本 3,半成品 4,写了自动部署脚本,但是里面没有都是用默认最新包名

NLGBZJ
31分钟前
0
0
在线准考证如何保存为PDF

1.IE浏览器右键点击保存为html文件至桌面 2.将html文件打开方式选择word打开 3.word打开选择pdf进行保存

森火
35分钟前
0
0
【二】Actions, Controllers and Results

什么是Action? 一个Play应用接收到的请求一般都交给 Action 来处理。 而一个 play.api.mvc.Action 本质上就是一个 (play.api.mvc.Request => play.api.mvc.Result) 函数,它被用来处理请求并...

Landas
45分钟前
0
0
我所理解的接口设计

前言 自己做接口开发的时间也算不短了(三年),想写这篇文章其实差不多已经有一年多的时间了。我将从下面的方向来对我所理解的接口设计做个总结: 接口参数定义 -> 接口版本化的问题 -> 接口的...

度_
49分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部