迭代法遍历 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
分享到:
相关推荐
众所周知,深度遍历的递归调用已经普遍,而广度遍历的递归调用较为麻烦。 但是我们老师布置了一道创新题目,让我们实现广度遍历的递归调用。 以下就是我使用递归的思想进行广度遍历。
// 遍历Lua传入的Table类型参数, 获取它的Key/Value, 其关键操作是 lua_next() // lua_next() 返回1表示读取成功,返回0表示已经没有数据可读了 // lua_next() 会使用栈顶元素作为Key去定位本次需要取出Table里面的...
主要介绍了Lua中遍历数组和table的4种方法,本文讲解了使用for遍历、迭代器的方式遍历等方法,同时提供一个复杂table的的遍历方法,需要的朋友可以参考下
主要介绍了Lua中table的遍历详解,本文讲解了4种遍历方法,并详细分析了这4种方法的特点、使用环境、相关知识等,需要的朋友可以参考下
c/c++从栈上获取Lua压栈过来的table数据 代码如下:map<string> traverse_table(lua_State *L, int index){ map<string> data; lua_pushnil(L); // 现在的栈:-1 => nil; index => table index = index – 1; ...
Lua的table元表自我学习笔记分享。--lua元表总结 --1、__index的运用 (调用table的一个不存在的索引时,会使用到元表的__index元方法,搜索元表是否也有改索引,__index可以是一个函数也可是一个table。)
lua学习笔记
通过执行python脚本(jsonToLua.py)
主要介绍了C++遍历Lua table的方法实例,本文给出了Lua table数据格式、C++实现的遍历代码以及输出效果,需要的朋友可以参考下
lua常用脚本函数的封装,可以嵌入到支持C编译的任何系统
lua学习资料lua学习资料lua学习资料lua学习资料
Lua中的table函数库.pdf Lua初学 table 经典有用 有用 ,分享一下。
主要介绍了Lua table类型学习笔记,本文讲解了table的基础知识和table库函数的使用以及面向对象编程实例,需要的朋友可以参考下
lua库函数
require文件刷新.lua 完美获得小数点第n位.lua ...判断table是否为空nil.lua 获取table中最大数.lua 去除字符串首位空格.lua 获得字符串中字符的个数.lua 复制table不改变原table.lua 输出字符串table.lua
lua (vc环境)学习笔记(学习代码) lua (vc环境)学习笔记(学习代码) lua (vc环境)学习笔记(学习代码)
主要介绍了Lua table中安全移除元素的方法,本文给出3种实现方法,分别是从后往前删除和while删除,需要的朋友可以参考下
自己学习lua记得笔记,做任务用的~很基础的东西,想要的拿走,免费
解析文件使用 lua 编写,把 *.xls 解析成 lua table,双击 run.bat 文件值行解析,支持多子表解析,键值对 k/v 解析。 例子说明:https://blog.csdn.net/qq_26117171/article/details/127131168 支持解析的数据类型...