table的创建与使用——LUA(1)
2014-10-18 10:37
316 查看
一、创建
local a = {}
哈哈,屌炸天了!
二、初始化
1、相信你一看就能明白:
local a = {["x"] = 12, ["mutou"] = 99, [3] = "hello"}
print(a["x"]);
对于字符串下标,我们可以省略方框和双引号,但是数字下标不可以,千万不要搞混了。例如:
local a = {x = 12, mutou = 99, [3] = "hello"}
print(a["x"]);
a["x"]这种调用方式也可以简化,例如:
local a = {x = 12, mutou = 99, [3] = "hello"}
print(a.x);
2、默认数字索引,完整代码:
local a = {[1] = 12, [2] = 43, [3] = 45, [4] = 90}
简化写法:local a = {12, 43, 45, 90}
print(a[1]);
3、table里面可以放table也可以放函数
含table:
local a = {
{x = 1, y = 2},
{x = 3, y = 10}
}
含函数:
function test()
print("Hello Table");
end
local a = {[test] = 1}
print(a[test]);
三、使用与注意
1、table永远是匿名的,一个持有table的变量与table自身之间没有固定的关联性。
2、用a = nil的方法删除,当程序再也没有对一个table的引用时,lua垃圾回收器最终会删除table,并复用它的内存
3、a.x与a[x],前者表示a["x"],表示以字符串"x"来索引table。而后者是以变量x的值来索引table。
a = {}
x = "y"
a[x] = 10 --将10放入字段"y"
print(a[x]) --字段“y"的值
print(a.x) --字段"x"(未定义的)的值
print(a.y) --字段"y"的值
4、数组通常以1作为索引的起始值,并且不少机制依赖于这个惯例。在Lua5.1中,长度操作符"#"用于返回一个数组或线性表的最后一个索引值(或为其大小)。
print(a[#a]) --打印类表a的最后一个值
a[#a] = nil --删除最后一个值
a[#a+1] = v --将v添加到列表末尾
5、nil作为界定数组结尾的标志,对于处理含有“空隙”的数组,可以使用函数table.maxn,他将返回一个table的最大正索引数:
a = {}
a[10000] = 1
print(table.maxn(a)) -->10000
一、创建
local a = {}
哈哈,屌炸天了!
二、初始化
1、相信你一看就能明白:
local a = {["x"] = 12, ["mutou"] = 99, [3] = "hello"}
print(a["x"]);
对于字符串下标,我们可以省略方框和双引号,但是数字下标不可以,千万不要搞混了。例如:
local a = {x = 12, mutou = 99, [3] = "hello"}
print(a["x"]);
a["x"]这种调用方式也可以简化,例如:
local a = {x = 12, mutou = 99, [3] = "hello"}
print(a.x);
2、默认数字索引,完整代码:
local a = {[1] = 12, [2] = 43, [3] = 45, [4] = 90}
简化写法:local a = {12, 43, 45, 90}
print(a[1]);
3、table里面可以放table也可以放函数
含table:
local a = {
{x = 1, y = 2},
{x = 3, y = 10}
}
含函数:
function test()
print("Hello Table");
end
local a = {[test] = 1}
print(a[test]);
三、使用与注意
1、table永远是匿名的,一个持有table的变量与table自身之间没有固定的关联性。
2、用a = nil的方法删除,当程序再也没有对一个table的引用时,lua垃圾回收器最终会删除table,并复用它的内存
3、a.x与a[x],前者表示a["x"],表示以字符串"x"来索引table。而后者是以变量x的值来索引table。
a = {}
x = "y"
a[x] = 10 --将10放入字段"y"
print(a[x]) --字段“y"的值
print(a.x) --字段"x"(未定义的)的值
print(a.y) --字段"y"的值
4、数组通常以1作为索引的起始值,并且不少机制依赖于这个惯例。在Lua5.1中,长度操作符"#"用于返回一个数组或线性表的最后一个索引值(或为其大小)。
print(a[#a]) --打印类表a的最后一个值
a[#a] = nil --删除最后一个值
a[#a+1] = v --将v添加到列表末尾
5、nil作为界定数组结尾的标志,对于处理含有“空隙”的数组,可以使用函数table.maxn,他将返回一个table的最大正索引数:
a = {}
a[10000] = 1
print(table.maxn(a)) -->10000
相关文章推荐
- 使用JavaScript创建Table时,用cellSpacing而不是cellspacing
- Lua中为你的表table使用默认值
- 【COCOS2DX-LUA 脚本开发之四】使用tolua++编译pkg,从而创建自定义类让Lua脚本使用
- cocos2d-x-LuaProxy学习日志(4) -- TableView使用
- Silverlight中使用Grid创建自定义的Table表格
- lua中table中嵌套table的使用
- Hibernate学习之 -- 使用Middlegen-Hibernate-r5创建oracle10g的table的hibernate映射文件,Hibernate学习笔记三 ---持久化类和关系数据
- 使用Navicat V8.0创建数据库,外键出现错误ERROR 1005: Can't create table (errno: 121)
- lua table 基本使用
- 一个使用c++在lua中创建自定义数据类型的简易方法
- 使用UIAlertView和UITableView来创建一个有用的UIAlertTableView
- Table-values parameter(TVP)系列之一:在T-SQL中创建和使用TVP
- 使用Navicat V8.0创建数据库,外键出现错误ERROR 1005: Can't create table (errno: 121)
- Lua中使用table生成链表完成正序和倒序的文件读入
- (转)TableRow 控件与 TableCell 控件和 Table 控件一起使用,来创建表格中的行
- Table-values parameter(TVP)系列之一:在T-SQL中创建和使用TVP
- Java中JTbale使用1—创建一个table
- 【COCOS2DX-LUA 脚本开发之五】Lua 使用OOP(面对对象思想编程),免Binding创建自定义lua类
- 使用 on prebuilt table 创建物化视图
- Lua Table类型的使用