# woo 数组
数组,就是相同数据类型的元素按一定顺序排列的集合,可以是一维数组和多维数组。
woo 数组的索引键值可以使用整数表示,数组的大小不是固定的。
* * *
## 一维数组
一维数组是最简单的数组,其逻辑结构是线性表。一维数组可以用for循环出数组中的元素,如下实例:
## 实例
```
array={"woo","Tutorial"}
for i=0,2 do
print(array\[i\])
end
```
以上代码执行输出结果为:
~~~
nil
woo
Tutorial
~~~
正如你所看到的,我们可以使用整数索引来访问数组元素,如果知道的索引没有值则返回nil。
在 woo 索引值是以 1 为起始,但你也可以指定 0 开始。
除此外我们还可以以负数为数组索引值:
## 实例
```
array={}
for i = -2,2 do
array[i]=i*2
end
for i =-2,2 do
print(array[i])
end
```
以上代码执行输出结果为:
~~~
-4
-2
0
2
4
~~~
* * *
## 多维数组
多维数组即数组中包含数组或一维数组的索引键对应一个数组。
以下是一个三行三列的阵列多维数组:
## 实例
-- 初始化数组
```
array={}
for i=1,3 do
array[i]={}
forj=1,3do
array[i][j]=i*j
end
end
```
-- 访问数组
```
for i=1,3 do
for j=1,3 do
print(array[i][j])
end
end
```
以上代码执行输出结果为:
~~~
1
2
3
2
4
6
3
6
9
~~~
不同索引键的三行三列阵列多维数组:
## 实例
-- 初始化数组
```
array={}
maxRows=3
maxColumns=3
for row=1,maxRows do
for col =1,maxColumns do
array[row*maxColumns+col]=row*col
end
end
```
-- 访问数组
```
for row=1,maxRows do
for col=1,maxColumns do
print(array[row*maxColumns+col])
end
end
```
以上代码执行输出结果为:
~~~
1
2
3
2
4
6
3
6
9
~~~
正如你所看到的,以上的实例中,数组设定了指定的索引值,这样可以避免出现 nil 值,有利于节省内存空间。
- 序言
- 安装
- 可视化编辑器
- woo 命令行参数详解
- 测试用例
- 简单http服务
- 正则
- gpio控制硬件设备
- 比武不招亲
- 和php比WebServer
- woo语法
- 语法简介
- 基本语法
- woo数据类型
- woo变量
- woo循环
- woo流程控制
- woo函数
- woo运算符
- woo字符串
- 类
- 类的继承
- 模块
- 数组
- 迭代
- table
- 元表(魔术方法)
- 错误处理
- 面向对象
- woo开发必须注意事项
- 函数/模块
- 内置函数
- webServer专属函数
- 内置模块
- gd-2d绘图库
- 2D图形例子
- websockets用例
- buffer缓存
- http
- orm数据库连接
- redis-ssdb连接
- queue队列
- 其他特别函数
- sockets
- 启动线程如何
- Murphy-http Web框架
- 简介
- 全局函数
- model
- view
- controller
- 消息队列
- 全局线程锁
- 包管理器/coder wooyri package manager
- 最ok的包上榜名单
- woo栗子
- 函数传参
- 编码解码
- http模块用例
- 移动读写文件流用例
- 文件下载用例
- 数组迭代
- 进制转换
- _choose用例
- 日期时间用例
- 注明
- wop 码包|coder wooyri peogram
- 码人激励计划