lua之table学习
来源:互联网 发布:淘宝网处罚考试答案 编辑:程序博客网 时间:2024/05/08 15:17
够着是用于创建和初始化table的表达式,这是lua特有的一种表达,并且也是lua种最有用的,最通用的机制之一。它也有点类似有C/C++中enum,可以定义常量。
我们先看下例子吧:
_type = {red_color = "red",bule_color = "red",white_color = "red",{x = 1, y = 2},{x = 3, y = 4},{x = 5, y = 6},}print(_type.red_color);print(_type["red_color"]);print(_type[1].x);print(_type[2].x);print(_type[3].x);
_type中定义了3个普通数据成员,后的三个成员table嵌套进去,作为_type的数据成员。
我们通常访问前3个成员,有两种方式:
print(_type.red_color);print(_type["red_color"]);
后面由于是作为了一个嵌套的table,我们如需要访问它们的话,我们只需要当做数组来访问得到某一个数据成员,把它看做是一个普通的tabl,然后可以像普通table一样访问它的数据成员了。
这两种风格的构造是各有其限制,例如,不能使用负数的索引,也不能用运算符作为记录的字段名,为了满足这些要求,Lua还提供了一种更通用的格式,这种格式允许在方括号之间显示地用一个表达式来初始化索引值:
opnames = {["+"] = "add",["-"] = "sub",["*"] = "mul",["/"] = "div","-","-1",}i = 20s = "-"a = {[i + 0] = s,[i + 1] = s .. s,[i + 2] = s .. s .. s,}print(opnames[s])print(a[22])print(opnames[2]) --》-1
语法看似繁琐了一点,但是很灵活。
构造式:
{x = 0. y = 0} 等价于{["x"] = 0, ["y" = 0]}
{"r", "g", "b"}等价于[[1] = "r", [2] = "g", [3] = "b"}
在Lua中构造式的索引下标都是以1为起始索引下标,不推荐以索引下标0为开始数组,大多数内建函数都假设数组起始于索引1,若遇到以索引0开始的数组,它们就无法正确地处理了。
0 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
- Cocos2d-Lua之table
- Lua之table
- Lua学习之5:基本数据结构-表(Table)
- <<Java语言程序设计>>基础篇 Exercise12_9 随机显示3张牌
- jquery 特效 字体滚动
- 396高校毕业设计选题
- 解析JSON数据
- 黑马程序员-----交通灯管理系统
- lua之table学习
- 大二下(1)
- linux命令之文件搜索
- 【java初学笔记4】马士兵-java-面向对象-37->38对象转移
- Linux 启动盘安装 开始时出现的问题
- 一起学习水晶报表之拉模式【如何实现水晶报表显示数据信息】(课程3)
- 类和接口的继承问题以及一些涉及到的知识
- 为什么鼠标光标向左倾斜,而不是垂直的?
- Android Intent 调用大全