码迷,mamicode.com
首页 > 编程语言 > 详细

lua学习笔记---表(数组)

时间:2015-02-16 00:25:23      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:lua-表

  1. 这里的表可以看成一个数据类型,与C语言中的数组有的一拼。
    但是相对于C语言的数组来说比较灵活,它的下标和元素都很随意,下标不限于整型(0,1,2,3…),元素也可能不是一直的一个数据类型,它的元素其中也能是整型,浮点型等。

  2. 形式

    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学习笔记---表(数组)

标签:lua-表

原文地址:http://blog.csdn.net/jarlen/article/details/43843007

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!