Cocos2d-Lua之table
2016-06-16 20:44
453 查看
一、一维数组
可以看到数组里可以存放各种类型的值,也可以存放键-值对,由于之前计算长度的“#”运算符对于数组结尾是nil的情况会特殊处理,这里用
计算数组长度,可以看到这里计算出来的数组长度不包括键-值对的个数。
另外键-值对的表示方法可以是:
输出结果:
Lua中的数组下标是从1开始的,如果想从0开始可以这么写:
特殊字符也可以作为键值,只不过只能通过tablename[“key键”] 方式进行访问
二、二维数组
输出结果:
说白了二维数组就是数组嵌套,也可以有多维数组,都是一样的道理。
a = {1,2,3, x = 5, y = 7, 9, nil, 10, m = 11} a[10] = 12 a.m = "a.m" a["n"] = "a " len = table.maxn(a) print("len = " .. len) for i = 1, len do print(a[i]) end print("a.x = " .. a.x) print("a[\"y\"] = " .. a["y"]) print("a.m = " .. a.m) print("a.n = " .. a.n)
可以看到数组里可以存放各种类型的值,也可以存放键-值对,由于之前计算长度的“#”运算符对于数组结尾是nil的情况会特殊处理,这里用
len = table.maxn(a)
计算数组长度,可以看到这里计算出来的数组长度不包括键-值对的个数。
另外键-值对的表示方法可以是:
tablename.key键 或者 tablename["key键"] //注意这里要加引号,不同于其他语言
输出结果:
Lua中的数组下标是从1开始的,如果想从0开始可以这么写:
a = {[0] = 1,2,3, x = 5, y = 7, 9, nil, 10, m = 11}
特殊字符也可以作为键值,只不过只能通过tablename[“key键”] 方式进行访问
b = {["+"] = "a", ["-"] = "b"} print(b["+"])
二、二维数组
a = {{1, 2, 3}, {"aa", "bb", "cc"}} a[3] = {"赵", "钱", "孙", "李"} len = table.maxn(a); for i = 1, len do innerlen = table.maxn(a[i]) for j = 1, innerlen do print(a[i][j]) end end
输出结果:
说白了二维数组就是数组嵌套,也可以有多维数组,都是一样的道理。
相关文章推荐
- 如何升级cocos2d-x来支持ipv6以及socket怎么支持ipv6
- cocoapods 安装写使用
- Cocos2d-x 3.0 编译出错 解决 error: expected '' at end of member declaration
- Cocos2dx 中的CCCallFunc,CCCallFuncN,CCCallFuncND,CCCallFuncO比较
- Cocos2d-Lua之循环语句
- cocos2dx——lua
- cocos2d-x v2.2 IOS工程支持64-bit 遇坑记录
- Cocos2d-Lua之if分支语句
- cocos2d-x 3.x学习之RotateAction
- Cocos2d-Lua之赋值
- Cocos2d-Lua之运算符
- Cocos2d-x内存管理 -- 绕不过去的坎
- cocos2d-js:小技巧及注意事项汇总
- iOS的Cocos2d-x工程载入CocoStudio制作的动画素材'xxx.csb/csd'文件,添加自定义用户头像图片到动画。
- cocos2D-X源码分析之从cocos2D-X学习OpenGL(20)----模型,网格和材质
- cocos2d-x 3.x学习之ScaleAction
- cocos2dx-3.4虚拟摇杆的实现
- cocos2d-js:使用热更新时的注意事项
- Cocos2d-Lua之函数
- cocos2d--WebSocket分析