首页 > 其他分享 >Lua 语法_复杂类型表____数组与二维数组

Lua 语法_复杂类型表____数组与二维数组

时间:2024-07-27 23:06:17浏览次数:6  
标签:aa 索引 -- ____ Lua 数组 print

复杂数据类型

Lua 所有的复杂类型都是 table(表)

数组

如何用Lua table(表) 实现数组

-- lua表中没有具体的限制 可以是数值,字符串,布尔值
a = {1,2,3,4,"洛溪",true,nil}
--Lua 中默认索引 从 1 开始 0 如果没有自定义索引则为空 nil
print(a[0])

-- # 号时用的获取长度的关键字
-- 以前 在打印长度的时候 空nil(会被当做最后一位)中断 (目前测试未重现问题)
-- 以前表中(数组中)某一位变成nil 会影响# 获取的长度 !!以前
print(#a)

数组的遍历

--第一种的遍历 (数据干净的可以用)
for i=1, #a do
  print(a[i])
end

二维数组

如何用Lua table(表) 实现二维数组

-- lua 语法表现 a表中有两个表变量
-- 表 组成 二维数组
a={{1,2,3} , {4,5,6} }
print(a[1][1])
print(a[1][2])
print(a[2][2])
print(a[2][2])

二维数组的遍历

--第一种的遍历 (数据干净)
for i=1, #a do
  b=a[i]
  for j=1 , #b do
    print(b[j])
  end
end

自定义索引

简介 自定义索引一般用于 字典(dictionary)可以指定索引来找值

-- 一般也没人这么定义

aa ={[0]=1,2,3,[-1]=4,5}

print(aa[0])
-- 结果1

print(aa[-1])
--结果 4

--# 获取长度 只能从1开始记录 小于等于0 都不会被记录 
print(#aa)
-- 结果 3

-- 当中间断开索引 不超过 2 如 3 5 这样 lua 会自动补上索引 4 值为nil
aa = {[1] =4 ,[2] =1 , [4]=2 , [5]=3 }
print(#aa)
-- 结果 5

aa = {[1] =4 ,[2] =1 , [4]=2 , [6]=3 }
print(#aa)
-- 结果 6

aa = {[1] =4 ,[2] =1 , [4]=2 , [7]=3 }
print(#aa)
-- 结果 4


标签:aa,索引,--,____,Lua,数组,print
From: https://www.cnblogs.com/Luo-Xi/p/18327623

相关文章

  • 四向链表实现
    参加某公司面试,要求15分钟内完成一个N维的四向链表,要求上下左右值准确,如图:代码实现: 四向链表节点类 FourLinkedNodeimportlombok.Data;importlombok.NoArgsConstructor;/***四向链表节点类*@param<T>*/@Data@NoArgsConstructorpublicclassFourLinkedN......
  • 《昇思25天学习打卡营第7天|函数式自动微分》
    函数式自动微分神经网络的训练主要使用反向传播算法,模型预测值(logits)与正确标签(label)送入损失函数(lossfunction)获得loss,然后进行反向传播计算,求得梯度(gradients),最终更新至模型参数(parameters)。自动微分能够计算可导函数在某点处的导数值,是反向传播算法的一般化。自动微分......
  • 35+测试老兵聊一聊职业规划-软件测试岗
        年龄越大越感觉时间在加速地飞驰而过。不知不觉已到中年,但感觉自己还停留在青葱岁月。工作之外每天刷刷短视频,打打游戏,浑浑噩噩一天过去了。听到最多的声音是:人生的意义是什么?人生没有意义,百年以后你埋一个坑我埋一个坑,哪个也叫不醒哪个。绝大多数的普通人等你老去......
  • 基于JSP、java、Tomcat三者的项目实战--校园交易网(3)主页
    技术支持:JAVA、JSP服务器:TOMCAT7.0.86编程软件:IntelliJIDEA2021.1.3x64前文三篇登录和注册功能的实现基于JSP、java、Tomcat、mysql三层交互的项目实战--校园交易网(1)-项目搭建(前期准备工作)https://blog.csdn.net/m0_64056556/article/details/140684858?spm=1001.2014......
  • 《昇思25天学习打卡营第5天|数据变换 Transforms》
    数据变换Transforms通常情况下,直接加载的原始数据并不能直接送入神经网络进行训练,此时我们需要对其进行数据预处理。MindSpore提供不同种类的数据变换(Transforms),配合数据处理Pipeline来实现数据预处理。所有的Transforms均可通过map方法传入,实现对指定数据列的处理......
  • PAT 乙级 1014题(为什么有测试点不对,求助)
    题目:福尔摩斯的约会大侦探福尔摩斯接到一张奇怪的字条:我们约会吧!3485djDkxh4hhGE2984akDfkkkkggEdsbs&hgsfdkd&Hyscvnm大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四14:04,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母......
  • PAT 乙级 1015题(为什么有测试点不对,求助)
    题目:德才论宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输......
  • 学习c语言第十五天(初阶测评)
    选择题1.下列程序输出结果为672.下列程序输出结果为 死循环打印3.i和j的值分别为什么 214.k的终值是什么905.输出结果是什么 16.正确的是    C7.C语言规定main函数位置    C8.不正确的是    D9.正确的是     c ......
  • lambda函数
    1.无参数,无返回值的Lambda函数无参数无返回值的Lambda函数其实不太常见,因为Lambda函数通常用于快速定义小的匿名函数,至少会返回一个值。但理论上可以这样写,但通常没有实际用途:#示例:无参数无返回值的Lambda函数(不推荐)noop=lambda:Nonenoop()#调用这个函数不会做......
  • python+flask计算机毕业设计农场营销管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着现代农业的快速发展,农场管理日益复杂,尤其是营销环节,传统的销售模式已难以满足市场快速变化的需求。农场主面临着如何高效管理农资采购......