lua基础学习-table
来源:互联网 发布:iphone算日子软件 编辑:程序博客网 时间:2024/05/20 01:38
定义数组
取名为muq.lua,作为数据资源
数组也看作一张表,lua的for循环中,我的理解是k为有序的序号值(第几个),v为表的行
local tmp = { { id = 1001, name = '张三', male = true, }, { id = 1002, name = '李四', male = true, }, { id = 1003, name = '李四1', male = false, }, { id = 1004, name = '李四2', male = true, },} return tmp
定义测试类
local tmp = require("muq") --接收数据资源for k,v in pairs(tmp)do --循环tmp(不同于ipair,下面会比对) print(k,":",v)endfor i=1,10 do --添加1到10至tmp中 table.insert(tmp,i) endfor k,v in pairs(tmp)do --打印出来 print(k,":",v)end
把tmp中male相同的值的数据放一张表
local tmp1 = {} local tmp2 = {} for k,v in pairs(tmp)do if v.male ==true then table.insert(tmp1,v) print(tmp1) elseif v.male ==false then table.insert(tmp2,v) --print(tmp2) end end
对比pairs和ipairs
ipairs为有迭代器的for循环,即为hash表,我理解为固定的有序循环,即(1,x),(2,x),(3,x)……..
其中k为数字number类型,且自行叠加匹配,直至循环到nil(为空值)结束。
直接上代码。。。==
--定义一个tmplocal tmp = { ["1"]=1, ["2"]="a", ["nil"]= 2, ["d"]=3, ['cccc']=4,}
--pairs循环for k,v in pairs(tmp) do print(k,v)end
结果为:
1 1nil 22 ad 3cccc 4
可以看的出来无论k为什么类型,都会老老实实的打印出表中数据
同样定义一个表(数组)local tmp = { [8]=0, [1]=1, [2]=2, [3]="a", ["1"]=1, [4]=3, [6]=2,}
用ipairs循环
for k,v in ipairs(tmp) do print(k,v)end
结果为
1 12 23 a4 3
可以看出,拥有迭代器的ipairs循环只会循环k值为number类型且从1自加直到为空时停止
阅读全文
0 0
- lua基础学习-table
- 0基础lua学习(十一)table
- 0基础lua学习(四)table构造式
- lua之table学习
- lua table源码学习
- Lua学习笔记--table
- Lua基础之table详解
- Lua基础之table详解
- Lua基础之table(表)
- lua学习之table类型
- Lua的Table学习疑问
- lua学习之table类型
- lua学习笔记table表
- lua学习之table类型
- Lua学习笔记之table
- lua语言学习九table
- lua学习之table类型
- lua学习笔记—table
- 脏读、不可重复读、幻读
- 教程:将 Amazon Linux 上的 Apache Web 服务器配置为使用 SSL/TLS
- ut8游艇会平台
- php shell_exec vs shell
- HDU 2089 浅谈数位动态规划水题
- lua基础学习-table
- JS 关于(function( window, undefined ) {})(window)写法的理解
- 关于安卓APP上传到各大应用市场教程整理
- nova云主机evacuate简单分析
- apache修改网站根目录无效(设置好了,但无效)解决方法
- 判断素数的高效方法
- 远程数据传输使用的几个软件
- echarts参数解析
- 签名证书keystore,jks,pk8,x509.pem