`

实现Lua的TableToString

    博客分类:
  • lua
Lua 
阅读更多
为了便于调试,将Table打印为String。
function MultiString(s,n)
	local r=""
	for i=1,n do
	  r=r..s
	end
	return r
end
--o ,obj;b use [];n \n;t num \t;
function TableToString(o,n,b,t)
    if type(b) ~= "boolean" and b ~= nil then
        print("expected third argument %s is a boolean", tostring(b))
    end
    if(b==nil)then b=true end
    t=t or 1
    local s=""
    if type(o) == "number" or 
        type(o) == "function" or
        type(o) == "boolean" or
        type(o) == "nil" then
        s = s..tostring(o)
    elseif type(o) == "string" then
        s = s..string.format("%q",o)
    elseif type(o) == "table" then
        s = s.."{"
        if(n)then
        	s = s.."\n"..MultiString("  ",t)
		end
        for k,v in pairs(o) do
            if b then
                s = s.."["
            end

            s = s .. TableToString(k,n, b,t+1)

            if b then
                s = s .."]"
            end

            s = s.. " = "
            s = s.. TableToString(v,n, b,t+1)
            s = s .. ","
            if(n)then
            	s=s.."\n"..MultiString("  ",t)
            end
        end
        s = s.."}"

    end
    return s;
end
分享到:
评论

相关推荐

    《自己动手实现Lua:虚拟机、编译器和标准库》_张秀宏_2018-9-27.rar

    作者融合自己丰富的工程实践经验,详细阐述Lua语言的核心语法和实现原理,深入探讨Lua虚拟机、编译器和标准库,并给出了实际可以编译执行的代码。助你从零基础开始编程实现Lua语言,理解脚本语言工作原理。全书分为3...

    Lua_C 实现Lua与C API互调

    它提供了与C语言的紧密集成,允许开发者通过Lua_C接口实现lua和C代码的互调,以提高程序性能或者利用C库的能力。本文将深入探讨如何在Visual Studio 2008环境下,通过Lua_C接口实现Lua与C API的互调。 首先,要理解...

    C言语实现lua数组

    本文将深入探讨如何在C语言中实现Lua数组,以及如何结合VS2012、动态链接库(DLL)和Lua的相关知识来构建一个功能强大的开发环境。 首先,我们需要理解Lua中的数组概念。在Lua中,数组实际上是一种表(table),...

    EditPlus实现lua高亮显示lua51.stx

    本篇将深入探讨如何在EditPlus中实现Lua语言的高亮显示,主要涉及lua51.stx文件的使用。 EditPlus支持多种语言的语法高亮,通过STX(Syntax Text eXtension)文件定义不同语言的语法规则。STX文件是一种文本格式,...

    .net下实现lua方法(实例)

    详细说明:.net下实现lua方法,实现动态使用c#类库,lua语法-. net realize lua under way to realize dynamic use c# class library, lua grammar

    lua server 实现了lua脚本处理服务端逻辑+数据库

    《终极网络服务端编程》的lua server 实现了lua脚本处理服务端逻辑+数据库 lua服务端 c++版服务端客户端(netserver,netclient) lua服务端 就是 c++ netserver项目的lua脚本化版 运行效果 ![image]...

    lua与Android交互,基本实现

    本文将深入探讨如何在Android应用中集成Lua,并实现Android与Lua之间的交互。 一、Lua简介 Lua是一种开放源代码的脚本语言,设计目标是简洁、快速、可嵌入。它的语法简洁明了,易于阅读和编写,适合嵌入到其他系统...

    lua设计模式总结

    1、简单工厂模式lua实现 2、工厂方法模式lua实现 3、原型模式lua实现 4、建造者模式lua实现 5、单例模式lua实现 6、抽象工厂模式lua实现 结构型模式 1、装饰模式lua实现 2、代理模式lua实现 3、外观模式lua实现 4、...

    如何使用cocos自动绑定工具实现lua调用c

    ### 如何使用Cocos2d-x自动绑定工具实现Lua调用C++ 在游戏开发领域,尤其是在使用Cocos2d-x框架进行开发时,经常会遇到需要让脚本语言(如Lua)能够调用C++代码的需求。这不仅能充分利用C++的强大性能,还能保持...

    lua实现调用webservice

    ### Lua 实现调用 WebService 的方法 #### 一、通过 gSOAP 实现 C/C++ 调用 Web Service gSOAP 是一个强大的工具包,它简化了使用 C/C++ 语言开发 Web 服务和客户端的过程。通过 gSOAP 的帮助,我们可以轻松地使用...

    Lua飞机大战源码

    这通常通过计算对象间的距离或使用碰撞检测算法来实现,Lua的灵活性使得这类复杂逻辑易于实现。 3. AI设计:敌机的行动逻辑是游戏趣味性的体现,Lua可以编写简单的AI算法,让敌机有策略地移动和攻击。 四、图形与...

    lua-zset, redis排序集相同的lua数据结构.zip

    《lua-zset:Redis排序集在Lua中的实现与应用》 在计算机科学中,数据库管理系统的数据结构设计至关重要,尤其在高性能、高并发的场景下。Redis作为一个内存型的键值存储系统,其丰富的数据结构如哈希表、集合、...

    lua实现basse64

    lua实现 basse64 lua lua实现 basse64 lua lua实现 basse64 lua

    LUA实现led闪烁.rar_JW4_lua_lua 点亮led_stm32 lua_stm32_lua

    在本文中,我们将深入探讨如何使用LUA脚本语言实现在STM32微控制器上进行LED闪烁控制。STM32是一种广泛应用的基于ARM Cortex-M内核的微控制器,以其高性能、低功耗和丰富的外设接口而受到青睐。LUA是一种轻量级的...

    lua实现机制

    Lua之所以能够流行,归根结底是因为它的设计和实现目标:提供一种简单、高效、可移植、轻量级的嵌入式脚本语言。这些目标自从Lua在1993年诞生以来就一直受到尊重,并贯穿其发展进化历程。一个重要的例子是Lua5.0版本...

    跑马灯抽奖Lua.zip

    跑马灯抽奖Lua.zip是一个基于Lua语言开发的项目,用于实现一种常见的互动效果——跑马灯抽奖。在游戏开发、活动界面设计等场景中,跑马灯效果常常被用来展示滚动名单或者抽奖结果,给用户带来动态且引人注目的视觉...

    LUAC脚本解密_luac解密在线_luac4加密_luac反编译_luac4解密工具_luac解密工具

    LUAC脚本是一种基于Lua语言的编译格式,它将Lua源代码编译成字节码,以便在 Lua 解释器上高效运行。LUAC(Lua Compiler)是Lua官方提供的编译器,它将源代码转换为这种优化的字节码,以提高执行速度。在游戏开发、...

    lua_stm32f4.rar_lua stm32_lua移植stm32_stm32 lua_stm32f407移植lua_st

    本文将详细探讨如何在STM32F407微控制器上移植并运行Lua,以及实现一些基本功能。 STM32F407是一款高性能的ARM Cortex-M4内核微控制器,具有浮点单元(FPU)和高速外设接口,适合于需要强大计算能力和实时响应的...

    LUAC解密工具.zip_andlua解密工具_andlua解密软件_lua 4.2解密_luac转lua_lua解密工具

    解密工具通过逆向工程实现这个转换,帮助开发者理解或修改加密后的代码。 "lua解密工具"则是一个广义的概念,涵盖了所有能处理Lua加密代码的工具,它们可能包含了解密、反混淆等功能,以帮助开发者调试或分析加密的...

    Lua 中实现类

    在Lua编程语言中,虽然原生不支持传统的类(class)和面向对象编程(OOP)概念,但可以通过模拟来实现。Lua的核心设计理念是简洁和轻量,因此它提供了元表(metatable)和函数作为其核心机制来实现类和对象的模拟。...

Global site tag (gtag.js) - Google Analytics