Lua程序设计第二版(笔记) 第十一章数据结构

Lua中的table不是一种简单的数据结构,它可以作为其他数据结构的基础。其他语言提供的数据结构,如数组、记录、线性表、队列、集合等,在Lua中都可以通过table来表示。

Lua的table来实现这些结构效率高。

数组

使用整数索引table即可在Lua中实现数组。因此,数组没有一个固定的大小,可以根据需要增长。

a={} --新建一个数组
for i = 1, 1000 do
a[i] = 0
end
任何对字段范围1-1000之外的访问都会返回一个nil

长度操作符(#)依赖于这个事实来计算数组大小:
print(#a) --1000

可以使用0、1或其他任意值来作为数组的起始索引:

--使用索引值-5 - 5来创建一个数组

a = {}

for i = -5, 5 do

a[i] = 0

end

Lua中的习惯一般是以1作为数组的起始索引。Lua库和长度操作符都遵循这个约定。如果数组不是从1开始的,#获取数组长度就不能用了。

通过table的构造式,可以在一句表达式中创建并初始化数组:

squares = { 1, 4, 9, 16, 25, 36, 49, 64, 81 }

这种构造式可以根据要求变得更长。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值