您的位置:首页 > 编程语言 > Lua

Lua Table类型的使用

2012-09-12 17:38 295 查看
关系表类型,这是一个很强大的类型。我们可以把这个类型看做是一个数组。只是C语言的数组,只能用正整数来做索引;在Lua中,你可以用任意类型来作数组的索引,除了nil。同样,在C语言中,数组的内容只允许一种类型;在Lua中,你也可以用任意类型的值来作数组的内容,除了nil

    Table的定义很简单,它的主要特征是用"{"和"}"来括起一系列数据元素的。比如:

    T1 = {} -- 定义一个空表

    T1[1]=10 -- 然后我们就可以象C语言一样来使用它了。

    T1["John"]={Age=27, Gender="Male"}

    这一句相当于:

    T1["John"]={} -- 必须先定义成一个表,还记得未定义的变量是nil类型吗

    T1["John"]["Age"]=27

    T1["John"]["Gender"]="Male"

    当表的索引是字符串的时候,我们可以简写成:

    T1.John={}

    T1.John.Age=27

    T1.John.Gender="Male"

    或

    T1.John{Age=27, Gender="Male"}

    这是一个很强的特性。

    在定义表的时候,我们可以把所有的数据内容一起写在"{"和"}"之间,这样子是非常方便,而且很好看。比如,前面的T1的定义,我们可以这么写:

    T1=

    {

      10, -- 相当于 [1] = 10

      [100] = 40,

      John= -- 如果你原意,你还可以写成:["John"] =

      {

        Age=27, -- 如果你原意,你还可以写成:["Age"] =27

        Gender=Male -- 如果你原意,你还可以写成:["Gender"] =Male

      },

      20 -- 相当于 [2] = 20

    }

    看起来很漂亮,不是吗?我们在写的时候,需要注意三点:

    第一,所有元素之间,总是用逗号","隔开;

    第二,所有索引值都需要用"["和"]"括起来;如果是字符串,还可以去掉引号和中括号;

    第三,如果不写索引,则索引就会被认为是数字,并按顺序自动从1往后编;

    表类型的构造是如此的方便,以致于常常被人用来代替配置文件。是的,不用怀疑,它比ini文件要漂亮,并且强大的多。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: