lua | table表的使用操作

news2024/10/7 2:21:41

目录

lua table表

表的构造

Table的使用

table.concat() 

table.insert()与table.remove() 

table.sort()

table.maxn()


本文章为笔者学习分享

学习网站:Lua 基本语法 | 菜鸟教程

lua table表

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

lua table使用关联型数组,可以用除nil以外任意类型的值当作数组的索引

lua table是不固定按大小,可以根据自己需要进行扩容

lua也是通过table来解决模块(module)、包(package)和对象(Object)的。例如string.format表示使用"format"来索引table string

表的构造

构造器是创建和初始化表的表达式。

表是lua特有的功能强大的东西。

最简单的构造函数是{},用来创建一个空表

可以直接初始化数组

--初始化数组
mytable={}

--赋值初始化
mytable[1]="Lua"

--移除引用
mytable = nil 

Table的使用

        先列出所有的方法,具体的实例操作在后面:

table.concat() 

用于table的连接

可以用concat()输出一个列表中元素连成的字符串

可以指定连接字符的形式以及指定连接的位置

arr={"A","B","C"}

print(table.concat(arr)) --ABC
print(table.concat(arr),",") --A,B,C
print(table.concat(arr),",",2,3) --B,C

table.insert()与table.remove() 

table.insert() 插入 默认从最后一个位置开始插入

table.remove() 删除 默认从最后一个位置开始删除

arr={"A","B","C"}

table.concat(arr,"D") --arr={A,B,C,D}

table.concat(arr,2,"D") --arr={A,D,B,C,D}

table.remove(arr) --A,D,B,C,nil 默认从最后一个位置删起

table.sort()

字母从左到右A-Z升序排序,不是按照字符串的长度排序

arr={"B","A","D","C"}

table.sort(arr)
for k,v in ipair(arr) do
    print(k,v)
end

--[[运行结果
1 A
2 B
3 C
4 D
--]]

table.maxn()

注意:

        当我们获取 table 的长度的时候无论是使用 # 还是 table.getn 其都会在索引中断的地方停止计数,而导致无法正确取得 table 的长度。

        可以使用以下方法来代替:

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

为什么Windows 10电脑运行缓慢?如何解决?

​虽然电脑是大家生活中的常用工具,但它经常会出现一些烦人的小问题,比如Windows 10系统在长时间使用后运行会变的缓慢。这时你必须等待一会才能打开/关闭电脑、打开和访问文件夹或软件,那要如何优化Windows 10电脑来解决运行缓慢的问题呢&am…

如何在 Espressif-IDE 中使用 Wokwi 模拟器

乐鑫近期已发布 Espressif-IDE v2.9.0,您可直接在此版本的 IDE 中使用 Wokwi 模拟器。 什么是 Wokwi 模拟器? Wokwi 是一款在线电子模拟器,支持模拟各种开发板、元器件和传感器,例如乐鑫产品 ESP32。 Wokwi 提供基于浏览器的界面…

C++学习day--08 数组和字符串

1、什么是数组 数组,就是多个元素的有序“组合”。 C 和 C语言中的数组: 1 )由多个大小相同的小柜子组成 > 相同大小的内存块组成,即相同类型的数据 2 )这些小柜子,有自己对应的编号 > 编号从 …

软考中级工程师笔记(持续更新)

进制 正负0 -0原000110010000 1000反000111100000 1111补000111110000 0000 取值范围 原 -(2n-1)-1~(2n-1)-1 数量 [(2n-1)-1]-[-(2n-1)-1] 1(1代表0)(2*2n-1)-1**2n-1** 反 -(2n-1)-1~(2n-1)-1 数量 [(2n-1)-1]-[-(2n-1)-1] 1(1代表0)(2*2n-1)-1**2n-1** 补 -(2n-1)~(2n-…

算法设计 || 实验一 用分治法实现元素的归并与检索 (头歌详解+本题分析笔记)

目录 (一)递归与分治是个啥? 1.递归(归并排序) 2.分治(二分检索算法) (二)头歌代码怎么写? (三)代码部分详解: &…

Android内嵌Unity (Activity)

Unity2019.4.4 AndropidStudio4.2.1 参考文档: Android内嵌Unity并实现互相跳转的实例代码_Android_脚本之家 Android Fragment中加载,嵌套Unity视图_unity 导入并作为fragment_周灬浩的博客-CSDN博客 本文只实现了Activity整个切换过去,而Fragment…

WSL2 ubuntu ip 自动同步 、静态ip(解决wsl2 ip 每次开机ip会变化的问题)

​ 利用python脚本解决wsl2 ip不固定的问题 环境信息 ​ wsl2 中linux版本:ubuntu ​ windows版本: win10/win11 问题描述 最近装了wsl2,使用vscode远程连接wsl2时遇到了如下问题: 1、wsl2的ip无法固定 2、wsl2的ssh服务不能…

vue项目使用element-ui

最近新建一个vue项目,配置了element-ui,较之前使用时发生了些许变化,对新的配置方式进行记录 node版本 v14.21.3 npm版本 v6.14.18 vue版本 v2.6.14 element-ui版本 v2.15.13 创建项目vue项目,使用…

设计原则之【迪米特法则】

文章目录 一、什么是迪米特法则1、理解迪米特法则2、如何理解“高内聚、松耦合”? 二、实例1、实例12、实例2 一、什么是迪米特法则 迪米特原则(Law of Demeter LoD)是指一个对象应该对其他对象保持最少的了解,又叫最少知道原则&…

Navicat自动提交的开和关

使用Navicat时,若是自动提交是打开状态,就相当于是自动执行了commit操作,就无法进行回滚操作。 一.相关指令 1.查询Navicat的自动提交开关状态: -- 查询自动提交 ON:是自动提交,即commit ;OFF:不是自动提交&#xf…

Java-注解

文章目录 前言一、概述二、元注解TargetRetentionDocumentedInherited 三、自定义注解四、常用内置注解OverrideDeprecatedSuppressWarnings 前言 注解用于修饰包、类、方法、属性、构造器、局部变量等数据信息,它可以用于创建文档,跟踪代码的依赖性&am…

怎么在VMware ESXi添加NAS存储?

案例:需要将NAS添加到VMware ESXi “我的本地空间不是很多,虚拟机占了我很多空间,但是我有一个NAS,所以我想问一下有没有办法可以让VMware ESXi添加NAS存储来扩展空间?” 网络附加存储(NAS)设…

2023年6月CDGP数据治理专家认证考试,5月报名及学习

目前6月DAMA-CDGP数据治理专家认证考试开放报名地区有:北京、上海、广州、深圳、长沙、呼和浩特。 目前南京、济南、西安、杭州等地区还在接近开考人数中,打算参加6月考试的朋友们可以抓紧时间报名啦!!! DAMA认证为数据…

为什么每个有影响力的内容创作者都需要一个Kadence WordPress网站

创作者经济正在蓬勃发展,内容创作者正在以前所未有的方式建立受众和收入来源。无论您是在 YouTube、Instagram、TikTok 还是任何其他平台上增加受众,充分利用这些受众变得越来越重要。 Adobe 于 2022 年 8 月发布的一项研究表明,过去 2 年全…

关于加强珠宝玉石类小程序把控的公告

各位小程序开发者为进一步加强小程序的规范管理,保障用户合法权益,平台将对珠宝玉石类小程序加强把控,具体内容如下: 一、 【商家自营-珠宝玉石】类目资质调整 备注:若小程序涉及经营随形加工的原石或摆件相关服务&…

Vue入门简介【第一篇】

大纲 一、Vue介绍 🌴 1.1 什么是Vue vue是一个构建用户界面UI的渐进式javascript框架,渐进式的框架是指可以一步一步的由浅入深的去使用该框架。 vue官网: https://cn.vuejs.org/ 🌴 1.2 Vue的优点 ⭐️ 1、体积小 压缩后33…

大数据分析就业班课程大纲

大数据分析就业班课程大纲列举: 第一阶段 Mysql从入门到精通/Python从入门到精通课程模块课程内容 MySQL 数据库 数据库概念及其功能介绍、数据库的安装与配置、数据库表的创建及注意事项、数据库的增、删、改、查等操作、多表的关系及查询、多表的…

OSI七层模型中的MAC和PHY

最近做服务器项目在学习MAC和PHY,总结了一些知识点,拿来分享一下 说到MAC和PHY首先要提到OSI七层模型 OSI七层模型 TCP/IP四层模型 对应网络协议 应用层(Application) 应用层 HTTP、TFTP, FTP, NFS, WAIS、SMTP 表示层&…

【Python入门知识】NumPy 数组排序/过滤,案例+理论讲解

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 数组排序 排序是指将元素按有序顺序排列。 有序序列是拥有与元素相对应的顺序的任何序列,例如数字或字母、升序或降序。 NumPy ndarray 对象有一个名为 sort() 的函数,该函数将对指定的数组进行排…

功率放大器在Lamb波信号波包模型验证研究中的应用

实验名称:窄带激励条件下的兰姆波时域信号参数估计研究 研究方向:Lamb波 测试目的: 基于Lamb波的二阶频散理论,提出了时域信号的波包模型,为全文奠定理论基础。模型考虑两种情况:初始激励以单模态传播和…