lua学习:数据类型table与数组的区别

一、table
table是lua的一种数据结构来帮助我们创建不同的数据结构,如:字典、数组
eg:

mytable = {a = 'python',b = 'java',c = 'php'}
print(mytable['a'])

1、table中key只能是字符串,这里的a、b、c都是字符串,但是都不能加上引号;如果通过key来访问table的值,这时候key必须带上引号
错误写法:

mytable = {1 = 'oracle',2 = 'mysql',3 = 'leveldb'}
mytable = {'a' = 'hbase','b' = 'redis','c' = 'pg'}

2、table中可以出现没有key的项,这个时候,lua会把table当作数组来对待
eg:

mytable = {a = 'dictor',b = 'actor','banker'}
print(mytable[1])

当table中某项没有指定key时,key就会从1开始自增,上述例子中mytable[1] = ‘banker’
二、数组
数组就是相同数据类型的元素按照一定顺序的集合,数组中的key都是自增的数字
eg:

mytable = {'banana','apple','pine'}

综上所述:table是字典和数组的混合体,当没有key时,table为数组,当指定具体的key时,table为字典

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我爱夜来香A

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值