Table

table是Lua中的唯一的数据结构

可以把表当作一个数组,除了nil以外的所有类型,都可以当作表的索引;如果是整数类型的索引,需要加上[ ] ;如果是字符串类型的key,可以去掉引号或者[ ]

#table :表示这个table的长度


table的遍历 :

1、ipairs :只能遍历key值为有序的数字的table,类似c#的数组    --> table  = {1,2,3,4,5,6}

*2、pairs :可以遍历key值不为有序的数字的table,key可以为字符串   --> table = {a = "abc" , b = "def"}


初始化表 :

list = { }

数组的索引从1开始,是长度可变的数组,类似C#中的ArrayList


当且仅当索引为2的幂次方的值为nil时,它后面的值就无效了。(数组中有nil元素或者索引不连续)无效并不是不存在,还是可以通过索引来进行访问的,每当这个时候,表的长度是以nil元素前的一个元素的索引为长度  (即 :#list ~= table.maxn(list))

table.maxn(table名),返回数组的最大索引值,但Lua5.2之后就不再有这个方法了

以上表明了,Lua中,数组的长度和最大索引值可能是不一样的


***表中的键为字符串,想得到这个字符串键所对应的值  --> 表名.key (表名打点调用)


table的一些方法 :

1、concat(连接)     --> table.concat(表名)                      -->将table中所有的字符串连接

                                  --> table.concat(表名, ",")                -->指定分割字符串,连接字符串,中间以“,”隔开

  --> table.concat(表名 , "," , 2 , 3)     --> 指定分割字符串,连接指定索引的值,以“,”隔开


2、insert(插入)       --> table.insert(表名 , "要插入的值")            --> 在末尾处插入

  --> table.insert(表名 , 2 , "要插入的值")        --> 在指定索引位置插入


3、remove(移除)    --> table.remove(表名 , 2)           --> 移除指定索引处的元素,最后一个参数可以不加,即默认删除最后一个元素


4、sort(排序)           --> table.sort(表名)             --> 按字母的AscII码排序

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值