lua学习笔记 4 迭代法遍历 table,当Table中含Table时,递归输出
来源:互联网 发布:java写入word文件 编辑:程序博客网 时间:2024/06/05 00:25
迭代法遍历 table,当Table中含Table时,递归调用。打印Table中 K, V值
通过type(arg) 判断当前类型
- table1 = {
- name = "Android Developer",
- email = "hpccns@gmail.com",
- url = "http://blog.csdn.net/hpccn",
- quote = [[
- There are
- 10 types of pepole
- who can understand binary.
- ]],--多行文字
- embeddedTab = {
- em1 = xx,
- x =0,
- {x =1, y =2 } -- 再内嵌table
- }-- 内嵌table
- }
- tab = " "
- function print_table(t, i)
- local indent ="" -- i缩进,当前调用缩进
- for j = 0, i do
- indent = indent .. tab
- end
- for k, v in pairs(t) do
- if (type(v) == "table") then -- type(v) 当前类型时否table 如果是,则需要递归,
- print(indent .. "< " .. k .. " is a table />")
- print_table(v, i + 1) -- 递归调用
- print(indent .. "/> end table ".. k .. "/>")
- else -- 否则直接输出当前值
- print(indent .. "<" .. k .. "=" .. v.."/>")
- end
- end
- end
- print_contents(table1, 0)
输出结果:
for k,v in pairs(table) do 这样的遍历顺序并非是table中table的排列顺序,而是根据table中key的hash值排序来遍历的。
与Java中 HashMap, C++中的Map相似。
- <name=Android Developer/>
- <quote= There ar
- 10 types of pepole
- who can understand binary.
- />
- <url=http://blog.csdn.net/hpccn/>
- < embeddedTab is a table />
- < 1 is a table />
- <y=2/>
- <x=1/>
- /> end table 1/>
- <x=0/>
- /> end table embeddedTab/>
- <email=hpccns@gmail.com/>
学习重点:
1 数据类型的判断: type()
lua语言中的数据类型主要有:nil、number、string、function、table、thread、boolean、userdata。
需要确定一个变量的类型时,可以使用内置函数type获取,如下:
- type(“hello world”); ---->string
- type(type); ---->function
- type(3.1415); ---->number
- type(type(type)); ---->string
2 迭代法
pairs 迭代全部的项
ipairs 迭代以数字做键值的项,且从1 开始
- for k, v in pairs(t) do
0 0
- lua学习笔记 4 迭代法遍历 table,当Table中含Table时,递归输出
- lua学习笔记 4 迭代法遍历 table,当Table中含Table时,递归输出
- 遍历Table中含Table
- Lua 中Table遍历
- Lua 学习笔记:C API 遍历 Table
- Lua 学习笔记:C API 遍历 Table
- lua学习笔记之table的遍历
- Lua学习笔记--table
- Lua中table的遍历
- lua递归输出表table的内容
- 【Lua】浅析Lua中table的遍历
- 【Lua】浅析Lua中table的遍历
- lua学习笔记table表
- Lua学习笔记之table
- lua学习笔记—table
- cocos-quick-lua学习笔记---遍历table(in pairs)
- lua table 遍历
- lua 遍历 table
- 一次out of memory引发的思考
- 模式匹配(子串问题)
- lua学习笔记 3 android调用Lua。Lua脚本使用LoadLib回调Java,并传多个参数
- php删除记录前的弹出确认或取消方法
- 读《分析模式》之责任模式-----团体
- lua学习笔记 4 迭代法遍历 table,当Table中含Table时,递归输出
- IO流
- linux 命令系列之 进程管理,终止进程(70)
- eclipse各种配置
- C# 窗体抖动
- 虚拟机中Linux克隆后相关配置
- 黑马程序员——GUI(图形用户界面)
- HDU---1030-Delta-wave (简单数学)
- android Menu详解 onCreateOptionsMenu()