标签:lua-表
这里的表可以看成一个数据类型,与C语言中的数组有的一拼。
但是相对于C语言的数组来说比较灵活,它的下标和元素都很随意,下标不限于整型(0,1,2,3…),元素也可能不是一直的一个数据类型,它的元素其中也能是整型,浮点型等。
形式
1> 先创建一个空表;然后初始化表
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> T = {}
> T[0] = 0
> T[1] = 1
> for i = 0,1,1 do print(T[i]) end
0
1
>
其中,下标可以为字符串,
> T["h1"] = {}
> T["h1"]["name"] = "jarlen"
> T["h1"]["age"] = 26
> print(T["h1"])
table: 003BD180--不能直接引用,这是这个T["h1"]的地址
> print(T["h1"]["name"])
jarlen
> print(T["h1"]["age"])
26
当下标索引为字符串的时候,也可以写如下方:
> print(T.h1.name)
jarlen
> print(T.h1.age)
26
> T.h1.age = 28
> print(T.h1.age)
28
> T.h1.name = "ja"
> print(T.h1.name)
ja
2> 也可以边创建边初始化数据。
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> T = {1,2}
> print(T[1])
1
> print(T[0])
nil
> print(T[2])
2
>
这里可以看出,除了字符串下标外,T是从“1”开始的。
> T2 = {name = "T2",age = 2}
> print(T2.name)
T2
> print(T2.age)
2
为了方便,我们在定义表的时候,可以将所有数据写在表内。
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> T = {
>> 14,
>> jarlen = {name = "jarlen",age = 26},
>> name = "haha"}
> print(T.jarlen.name)
jarlen
> print(T[1])
14
> print(T["name"])
haha
> print(T["jarlen"]["name"])
jarlen
> print(T["jarlen"]["age"])
26
>
又如:
> T3 = {
>> 14,
>> ["jarlen"] = {["name"] = "jarlen",["age"] = 26},
>> ["name"] = "haha",
>> 20}
> print(T3[1])
14
> print(T3[2])
20
> print(T3.jarlen.name)
jarlen
> print(T3.jarlen.age)
26
注意事项:
1> 所有元素都要使用逗号“,”隔开;
2> 元素位数字的元素,从第一个数字元素开始下标为“1”,之后的数字以此序排。
3>所有索引值都需要用”[“和”]”括起来;如果是字符串,还可以去掉引号和中括号。
觉得很像配置文件,理解起来也很容易。
标签:lua-表
原文地址:http://blog.csdn.net/jarlen/article/details/43843007