数组

简介: 数组

Lua 语言中,简单地使用整数来索引表即可实现数组。因此,数组的大小不用非得是固定的,而是可以按需增长的。通常,在初始化数组时就间接地定义了数组的大小。例如,在执行了以下的代码后,任何访问范围 1-1000 之外的元素都会返回 nil 而不是 0

local a = {}        -- 新数组
for i = 1, 1000 do
  a[i] = 0
end


长度运算符( # )正是基于此来计算数组大小的:

print(#a)     --> 1000


可以使用 01 或其他任何值来作为数组的起始索引:

a = {}
for i = -5, 5 do
  a[i] = 0
end


不过,在 Lua 语言中一般以 1 作为数组的起始索引, Lua 语言的标准库和长度运算符都遵循这个惯例。如果数组的索引不从 1 开始,那就不能使用这些机制。


可以通过表构造器在一句表达式中同时创建和初始化数组:

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


这种表构造器根据需求要多大就能多大。在 Lua 语言中,利用数据描述文件创建包含几百万个元素组成的构造器很常见。

目录
相关文章
|
5月前
|
存储
数组的初识
数组的初识
|
12月前
|
存储 C语言 索引
C 数组
C 数组。
36 0
|
5月前
1-9 数组
1-9 数组
21 0
|
5月前
数组练习2
数组练习2。
26 2
|
存储 机器学习/深度学习 Java
原来这就是数组
原来这就是数组
73 0
数组相关练习
数组相关练习
49 0
|
存储 编译器 C语言
C语言知识点之 数组
C语言知识点之 数组
66 0
|
存储 算法 容器
关于数组我所知道的
关于数组我所知道的
58 0
|
存储 算法 Java
4 数组
4 数组
110 0
|
存储 算法 编译器