Lua Table类型的使用

关系表类型,这是一个很强大的类型。我们可以把这个类型看做是一个数组。只是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文件要漂亮,并且强大的多。 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值