`
yxkingtiger
  • 浏览: 26543 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

lua 输出 table 树结构

    博客分类:
  • lua
阅读更多

   初学者肯定纳闷 lua 没有数组,也没有数据结构。这是为什么呢。细心的同学可以发现它有一个table。对,就是它了,它能实现你所以想要的结构。想要什么结构,括"{}"起来就好了,也可以通过循环数据组成自己想要的结构,方便读取。

  在这里我就先不讲table 是怎么做结构的了,初学者嘛,别人写好了结构的你得用吧,你要知道这个table是存成什么样的,这样才知道怎么读数据嘛。所以在这里我写了一个输出table树状图的方法,希望对大家有帮助。如下:

tab = "	   " -- 这里需要一个变量
function dump(t, i)
	if not i then i = 0 end
    local indent =""
	for j = 1, i do   
	    indent = indent .. tab  
	end
    for k, v in next, t do
    	-- 如果 v 还是个table的话就继续遍历
        if type(v) == "table" then  
            print(indent .. k .." = { ")  
            dump(v, i + 1)
            print(indent .. "}")
        else
        	print(indent .. k .. "=" .. v) 
        end  
    end
end  
dump(t)

 最后输出是这样的:

table{

           k = {

                 k = v

                 k2 = v

                 ……

            }

           k2 = {

           }

           k = v

           ……

}

不管它是什么结构,都能搞定

0
0
分享到:
评论

相关推荐

    lua语言输出孪生质数.zip

    同时,这种问题的解决方式也可以作为进一步学习其他编程概念,如函数、模块化编程以及高级数据结构(如链表、树等)的良好起点。 在提供的压缩包文件中,有三个`.mcs`文件,它们可能包含了上述三种不同方法的实现。...

    Lua5.1.5-lib库

    17. **ltable.c/ltable.o**: 表(Lua的主要数据结构)的实现。 18. **ltm.c/ltm.o**: 类型管理,包括元表和元方法。 19. **lundump.c/lundump.o**: 加载字节码文件的辅助功能。 20. **lvm.c/lvm.o**: Lua虚拟机的...

    lua代码-树型打印一个 table

    首先,我们需要理解 Lua 的 `table` 如何表示树形结构。在 Lua 中,一个 `table` 可以包含其他 `table` 作为其元素,这就形成了层级关系,可以模拟出树的节点和子节点。例如: ```lua local tree = { value = ...

    lua-5.3.4源码

    1. 表(Table):Lua的主要数据结构,可以作为数组、哈希表或类来使用。表的实现基于开放寻址的哈希表,具备动态调整大小的能力。 2. 常量池:存放字符串、数值等常量,减少内存分配。 五、垃圾回收机制 Lua 5.3.4...

    Lua游戏开发实践指南

    此外,Lua支持表(table)作为其核心数据结构,可以用来实现类和对象的模拟,这是游戏编程中的重要概念。 Lua的模块系统也是其强大之处。通过require函数,开发者可以方便地组织和加载代码,实现代码的模块化。在...

    lua-sharedtable

    平板池中有某种块,页面池中有某种页面,因此为用户分配内存,只是在数组或树数据结构中进行搜索。 没有多余的内存占用,当可用内存达到阈值时,内存将通过从物理页面取消绑定的虚拟内存释放到系统中。 不用担心...

    Lua4虚拟机运行概述

    - **ltable**:定义了Lua表的数据结构; - **ltm**:包含一些标签函数; - **lundump**:支持预编译Lua块的功能。 #### 八、`Lua_State` 结构 `Lua_State`是Lua全局状态的核心结构,它包含了Lua运行时的所有重要...

    lua源码相关

    4. **数据结构(Data Structures)**:Lua的表、字符串、用户数据等核心数据结构在`lobject.c`和`ltable.c`中定义。其中,表是Lua的通用数据结构,支持哈希和数组部分,实现了动态大小和弱引用。 5. **内存管理...

    lua 寻路算法

    在 Lua 中实现时,我们需要定义图的表示(节点和边),计算启发式函数,以及维护优先队列(可以使用 Lua 的 table 或第三方库如 `luapq`)。 2. **Dijkstra 算法** Dijkstra 算法是一种用于寻找图中两点之间最短...

    lua脚本解释器ANSI C

    4. **表(Table)**:表是Lua的主要数据结构,可以作为数组、字典、对象等使用,非常灵活。 5. **函数是一等公民**:在Lua中,函数可以被赋值给变量、作为参数传递、作为返回值,体现了函数式编程的特点。 6. **...

    lua的源代码

    5. **表(Table)**:Lua的表是其核心数据结构,用于实现数组、哈希、类等概念。`ltablib.c`和`ltable.c`包含了表的创建、查找、修改等操作的实现。 6. **元表(Metatables)**:Lua允许为任何类型定义元表,从而...

    cpp-Lua514版本代码注释

    Lua 5.1.4中包括了nil、boolean、number、string、table、function、 userdata和thread等数据类型。了解它们在源码中的实现,比如` TValue`结构体,可以帮助我们更深入地理解Lua的数据模型。 7. **错误处理与调试*...

    Lua-5.1.5-部分源码注释.rar

    6. **表处理(ltable.c)**:Lua的表是其主要的数据结构,用于实现数组、哈希表、元表等特性。`ltable.c`包含表的创建、查找、插入和删除等操作。 7. **类型管理(ltm.c)**:Lua支持多种数据类型,如数字、字符串、表...

    lua5.2 source i need

    - **ltable.c/ltable.h**:表的实现,包括哈希部分和数组部分。 - **ltm.c/ltm.h**:时间管理和元方法。 - **lundump.c/lundump.h**:加载和保存字节码的功能。 - **lvm.c/lvm.h**:虚拟机,执行字节码的主体...

    lua源码导读---云风

    表(Table)是 Lua 中一种灵活的数据结构,可以用作数组、哈希表等多种用途。 - **数据结构**:表由一个数组和一个哈希表组成,分别用于存储整数索引的元素和任意键值对。 - **算法**:包括查找、插入、删除等操作...

    Lua 5.3 参考手册

    - **用途**:表可以用作数组、序列、符号表、集合、记录、图、树等多种数据结构。 - **特性**:表内的键若为`nil`则不会被记录到表结构中。 通过以上概述,我们可以了解到Lua语言的基本特性和核心概念,这些特性...

    Lua 5.1 Reference Manual(pdf版)

    table类型是Lua语言中一个非常重要的概念,它是一个由关联数组组成的复合数据类型,可以用来表示数组、记录、集合、图、树等数据结构。Lua的函数是头等值,意味着它们可以存储在变量中、作为参数传递、作为结果返回...

    LUA脚本语言的实现C代码

    4. **表(Table)**:LUA的表是一种非常灵活的数据结构,可以作为数组、哈希表、集合、对象等使用,是实现面向对象编程的基础。 5. **C语言接口**:LUA提供了与C语言交互的API,允许开发者用C来扩展LUA的功能,也...

    一个小巧的lua解释器实现

    在Lua中,环境是通过表(Table)实现的,这是Lua的核心数据结构,可以看作是键值对的集合。解释器需要理解和处理表的创建、查找和修改。此外,对于函数,解释器还需要处理作用域规则,确保局部变量和全局变量的正确...

Global site tag (gtag.js) - Google Analytics