无涯教程-Lua - Arrays(数组)

数组是对象的有序排列,可以是包含行集合的一维数组,也可以是包含多行和多列的多维数组。

在Lua中,数组是使用带有整数的索引表实现的。数组的大小不是固定的,并且可以根据无涯教程的要求(取决于内存限制)来增长。

一维数组

一维数组可以使用简单的表结构表示,并且可以使用简单的 for 循环进行初始化和读取。一个如下所示。

array = {"Lua", "Tutorial"}for i = 0, 2 doprint(array[i])
end

当运行上面的代码时,将获得以下输出。

nil
Lua
Tutorial

如您在上面的代码中看到的那样,当尝试访问数组中不存在的索引中的元素时,它返回nil。在Lua中,索引通常从索引1开始。但是也可以在索引0和0以下创建对象。使用负索引的数组如下所示,其中使用 for 循环初始化数组。

array = {}for i= -2, 2 doarray[i] = i *2
endfor i = -2,2 doprint(array[i])
end

当运行上面的代码时,将获得以下输出。

-4
-2
0
2
4

多维数组

下面使用数组数组显示3. 3的多维数组的示例。

-- Initializing the array
array = {}for i=1,3 doarray[i] = {}for j=1,3 doarray[i][j] = i*jendend-- Accessing the arrayfor i=1,3 dofor j=1,3 doprint(array[i][j])endend

当运行上面的代码时,将获得以下输出。

1
2
3
2
4
6
3
6
9

下面显示了使用操纵索引的多维数组示例。

-- Initializing the arrayarray = {}maxRows = 3
maxColumns = 3for row=1,maxRows dofor col=1,maxColumns doarray[row*maxColumns +col] = row*colendend-- Accessing the arrayfor row=1,maxRows dofor col=1,maxColumns doprint(array[row*maxColumns +col])endend

当无涯教程运行上面的代码时,将获得以下输出。

1
2
3
2
4
6
3
6
9

Lua - Arrays(数组) - 无涯教程网无涯教程网提供数组是对象的有序排列,可以是包含行集合的一维数组,也可以是包含多行和多列的多维数...https://www.learnfk.com/lua/lua-arrays.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/55260.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

6.6.tensorRT高级(1)-mmdetection框架下yolox模型导出并推理

目录 前言1. yolox导出2. yolox推理3. 补充知识3.1 知识点3.2 mmdetection 总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程,之前有看过一遍,但是没有做笔记,很多东西也忘了。这次重新撸一遍,顺便记记笔记。 本次课程学习…

vue 前端页面开发经验记录

本博文记录了在vue项目开发中的一些经验,具体包含:class动态绑定、子页面刷新、注入函数到子页面、数据加载效果、单击后编辑、文件上传、数据分页、表单提交等的使用记录。 1、class动态绑定 根据变量的值绑定不同的class样式,这里ftype的…

ORACLE和MYSQL区别

1,Oracle没有offet,limit,在mysql中我们用它们来控制显示的行数,最多的是分页了。oracle要分页的话,要换成rownum。 2,oracle建表时,没有auto_increment,所有要想让表的一个字段自增&#xff0c…

Webpack怎么使用?

Webpack 使用 前几篇文章中已经介绍了如何初始化包管理器 package.json 这里不再重复介绍,如有需要请查看 搭建工程化项目。 安装 :::warning 注意 请确保你已经安装了 yarn,如有需要请查看 搭建工程化开发环境。 ::: 通过命令 yarn add webpack web…

Grafana集成prometheus(4.Grafana添加预警)

上文已经完成了grafana对prometheus的集成及数据导入,本文主要记录grafana的预警功能(以内存为例) 添加预警 添加入口(2个) databorard面板点击edit,下方有个Alert的tab,创建Alert rules依赖…

LabVIEW使用DSA技术从X射线图像测量肺气容量

LabVIEW使用DSA技术从X射线图像测量肺气容量 相衬X射线(PCX)成像技术利用相邻介质之间折射率的微小差异来增强传统X射线成像通常不可见的物体的边界。事实证明,这一进展在一系列生物医学和材料科学中非常有益于材料表征、疾病检测以及解剖形…

SpringBoot项目增加logback日志文件

一、简介 在开发和调试过程中,日志是一项非常重要的工具。它不仅可以帮助我们快速定位和解决问题,还可以记录和监控系统的运行状态。Spring Boot默认提供了一套简单易用且功能强大的日志框架logback,本文将介绍如何在Spring Boot项目中配置和…

【Linux】Linux下git的使用

文章目录 一、什么是git二、git发展史三、Gitee仓库的创建1.新建仓库2.复制仓库链接3.在命令行克隆仓库3.1仓库里的.gitignore是什么3.2仓库里的git是什么 三、git的基本使用1.将克隆仓库的新增文件添加到暂存区(本地仓库)2.将暂存区的文件添加到.git仓库中3.将.git仓库中的变化…

Nginx启动报错- Failed to start The nginx HTTP and reverse proxy server

根据日志,仍然出现 “bind() to 0.0.0.0:8888 failed (13: Permission denied)” 错误。这意味着 Nginx 仍然无法绑定到 8888 端口,即使使用 root 权限。 请执行以下操作来进一步排查问题: 确保没有其他进程占用 8888 端口:使用以…

JavaEE 面试常见问题

一、常见的 ORM 框架有哪些? 1.Mybatis Mybatis 是一种典型的半自动的 ORM 框架,所谓的半自动,是因为还需要手动的写 SQL 语句,再由框架根据 SQL 及 传入数据来组装为要执行的 SQL 。其优点为: 1. 因为由程序员…

深度学习(34)—— StarGAN(1)

深度学习(34)—— StarGAN(1) 文章目录 深度学习(34)—— StarGAN(1)1. 背景2. 基本思路3. 整体流程4. StarGAN v2(1) 网络结构(2) mapping network(3) style encoder(4)Loss 和之前…

【cluster_block_exception】写操作elasticsearch索引报错

【cluster_block_exception】操作elasticsearch索引b报错 背景导致原因:解决方法: 背景 今天线上elk的数据太多,服务器的空间不足了。所以打算删除一些没用用的数据。我是用下面的request: POST /{index_name}/_delete_by_query…