lua学习(1)

news2025/1/16 8:17:34

1.

lua 字符串  单个引号和双引号都可



    变量的定义默认是全局的

    删除一个变量将其赋值为nil即可   如:  b=nil

    nil还可以对表中的数据进行删除,也可删除一个表

    只要变量不是nil,变量即存在




    标识符以一个字母 A 到 Z 或 a 到 z 或下划线 _ 开头后,

    加上 0 个或多个字母,下划线,数字(0 到 9)




    lua的命名方式不支持特殊字符,除下划线以外的特殊字符,如# % @ &是不能用来命名变量的

    lua区分大小写

    变量的命名不要用下划线加大写字母命名 保留字通常以这种方式命名

    保留字的作用就是为关键字添加一些特殊的功能

    保留字的形式:_NAME  



    lua里使用索引大多数都是从1开始的



表的定义是{}

    lua中没有字典和数组的概念,但表可以类似的表示这两个

    在lua中表的表现形式有三种,分别为tab1,tab2,tab3

    tab1:是一个空表

    tab2:这种表的形式,是以键值对的形式存储信息,可以理解为字典

          此时键的命名也要符合标识符的命名规范,tab2这种表的表现形式,

          虽然跟字典表现形式类似,但却无法以字符串,数字作为键名

          tab2这种形式的表,引用表中的数据有两种方式:

            1) 表名.键名

            2) 表名["键名"]

    tab3:这种表的形式,可以理解数组,或者是键名为1,2,3,4,5.....的字典

          像tab3这种形式的表,取表中数据只能通过 :表明[数字]

          的形式进行取值

2.可以用两个[[  ]]来表示一块字符串

3.   #:也可算中文字符串的长度

4.

向表中添加数据可以用两种方式添加:

                            1)表名.键名=数据

                            2)表名["键名"]=数据

当tab3通过   tab3.tt="new"  的方式添加键值对后,

再取tab3中的数据就可以采取像取tab2中的数据的方式

用

            1) 表名.键名

            2) 表名["键名"]

进行取数据  

5.

表的长度不固定,删除或增加一个键值对,表的长度都会动态的改变大小

同时表的键值对也不是连续的,比如tab3这种形式的表,

当把表中的键值2删除后,键值3不会顶替原来键值2的位置变成键值2


6.

tab3中的"11","222","333","中午???","apple"要想删除

还是只能通过tab3[数字]的方式进行删除

但是tab3中的"new"这个数据却可以用tab3.tt=nil的方式进行删除

7.


lua中函数的定义通过关键字function来实现,函数不需要定义返回值类型,
    而且lua中的函数可以返回值,也可以不返回值。
    返回值可以返回任意类型数值
    定义函数格式:
                function 函数名(参数)
                end
    如果使用if判断语句 也需要加edn
    if判断格式: 
            if  条件 then
                 语句
            else
                语句
            end              
在lua中函数可以被当成一个数据使用,可以赋值给另一个变量,
使变量用有和函数一样的功能

8.

在lua中支持将函数作为参数传递给另外一个函数
lua中还支持匿名函数,即函数没有名称
匿名函数只能调用一次,而且匿名函数内的代码量要少,方便阅读

9.

lua中支持变量的类型进行转换,变量的类型决定于给定的数据


lua中的全局变量和局部变量:
            全局变量:任意定义的变量一般来说都是全局变量
            局部变量:用local 定义的变量为局部变量,
                     局部变量的生命周期截至到所在语句块。

注意:如果局部变量定义在函数内,则局部变量的生命周期截至到函数结束
    但如果局部变量定义在函数外,那么这个局部变量的生命周期截至到
    这个lua文件运行结束,此时局部变量和全局变量的生命周期时一样的
    但是如果在函数中定义个一个变量,这个变量也是全局变量,在函数里面
    定义的变量也是全局变量,在函数之外的语句当中仍然有效

函数里面定义的全局变量,如果不引用函数,变量无法生效

制作代码块:
            do
            end
    就是做一些事情,相当于一个子代码块

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

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

相关文章

网安加·百家讲坛 | 高明:模糊测试技术在车联网安全性评估中的应用

作者简介:高明,信息安全硕士,10年以上软件安全开发和产品架构设计经验。成功主导多个模糊测试和车联网安全相关的产品研发与项目实施,并参与网络安全产品相关行业标准的编写。擅长产品规划和敏捷项目管理,持有PMP、PgM…

SFP-8636 QSFP光模块解析学习

对于QSFP 100G模块,我们参考SFF-8636协议文档,暂时访问的寄存器一般位于page0, 此时0x7f写0即可, 1,状态静态数据 -->iic read 1 0 a0 80 Read i2c_bus[1] dev_addr[0xa0] reg[0x80] success, r_data[0xd] -->iic read 1 0 a0 82 Read i2c_bus[1] dev_addr[0x…

如何实现AI无人带货直播间?

在数字化时代,直播电商已成为推动商品销售的重要力量,随着人工智能(AI)技术的不断发展,AI无人带货直播间作为一种创新的商业模式正逐渐崭露头角。 这种直播间通过集成先进的AI技术,如自然语言处理、图像识别、机器学习等&#xf…

园区导航小程序:一站式解决园区导航问题,释放存储,优化访客体验

随着园区的规模不断扩大,功能区划分日益复杂,导致访客和新员工在没有有效导航的情况下容易迷路。传统APP导航虽能解决部分问题,但其下载安装繁琐、占用手机内存大、且非高频使用导致的闲置,让许多用户望而却步。园区导航小程序的出…

武汉流星汇聚:跨境电商助力中国卖家打造全球品牌,赢得国际声誉

在全球零售电商行业稳健增长的大潮中,跨境电商平台如同一座桥梁,连接着中国卖家与全球消费者,不仅促进了商品的快速流通与市场的广泛覆盖,更为中国卖家提供了提升品牌知名度和美誉度的宝贵机遇。 随着全球化进程的加速&#xff0…

arduino程序-逻辑控制(基础知识)

arduino程序-逻辑控制(基础知识) 1-15 逻辑控制1-按键开关控制LED效果演示输入上拉模式电路示例程序 1-16 逻辑控制2-布尔变量逻辑表达式改写程序(使用布尔运算)程序上传及效果演示回顾知识 1-17 逻辑控制3-布尔运算效果演示布尔运…

Spring Boot使用Disruptor做内部高性能消息队列

​ 博客主页: 南来_北往 系列专栏:Spring Boot实战 背景 在现代应用开发中,特别是在构建高并发、低延迟的系统时,内部高性能消息队列的作用变得尤为重要。内部高性能消息队列,如Disruptor,为应用提供了一种高效、…

springboot使用jdk生成自签名证书

1.背景 许多生产中服务端应用系统需要ssl认证,走https访问,以满足等保要求。 有些前后端一体的项目工程,完全可以用jdk生成证书(本章节介绍此); 若是前后端分离,使用nginx代理部署的&#xf…

Selenium怎么进行自动化测试?8年老鸟的我是这样做的...

自动化测试是软件测试过程中的重要一环,它可以帮助我们提高测试效率、减少重复工作,同时还可以提升测试的准确性。Selenium是一个广泛使用的自动化测试工具,它可以模拟用户在网页上的操作,比如点击、输入、检查元素等。 本文将从…

tomcat配置(java环境配置)

继昨天上线商城系统 [rootstaticserver eleme_web]# cd /usr/local/nginx/conf [rootstaticserver conf]# ls fastcgi.conf koi-utf nginx.conf scgi_params.default fastcgi.conf.default koi-win nginx.conf.bak uwsgi…

5G CPE SC100:5G时代的旗舰级无线路由器

作为星创易联CPE无线路由器SC100的产品经理,我很高兴能够与大家分享这款产品的特点和使用体验。经过我们团队的不懈努力,SC100终于面世,它集多项领先技术于一身,定位高端市场,希望能给用户带来极致的上网体验。下面就让我从硬件规格、无线性能、接口丰富程度、指示灯设计、便携…

简单洗牌算法

🎉欢迎大家收看,请多多支持🌹 🥰关注小哇,和我一起成长🚀个人主页🚀 ⭐目前主更 专栏Java ⭐数据结构 ⭐已更专栏有C语言、计算机网络⭐ 在学习了ArrayList之后,我们可以通过写一个洗…

老百姓:药房“难自医”

股价连创历史新低,董事长又被留置,药房“难自医”。今天我们聊聊正处在风口浪尖的——老百姓。 昨晚,老百姓大药房公告称, 收到公司实际控制人、董事长谢子龙于7月28日被湖南省监委留置、立案调查的通知。随后还是经典环节&#…

pytorch与cuda与TensorRT的版本选择

VScode版本 linux最新版本的vscode,可能无法进行python的调试 选择下载1.85 https://code.visualstudio.com/updates/v1_85 CUDA版本 https://developer.nvidia.com/Cuda-Toolkit-archive 由于受限于TRT的8.6(下面会说明),所以…

求值(河南萌新2024)

我真的服了,注意数据范围!!!!!!!!!!!!!!!!!!&#…

秋招突击——7/29——复习{有塔游戏——关联传递性}——新作{随机链表的复制、合并K个升序链表,二叉树——二叉树的中序遍历、二叉树的最大深度、反转二叉树}

文章目录 引言复习有塔游戏——关联传递性实现复习实现参考实现 新作随机链表的复制个人实现参考实现 排序链表个人实现参考实现 二叉树章节二叉树的中序遍历个人实现 二叉树的最大深度个人实现参考实现 反转二叉树个人实现参考实现 总结 引言 旅游完回来了,今天继…

SSM流浪狗信息管理系统-计算机毕业设计源码07154

目录 1 绪论 1.1 研究背景和意义 1.2国内外研究现状 1.3论文结构与章节安排 2 系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2经济可行性分析 2.1.3操作可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.3 系统用例分析 2.4 系统流程分析…

vmware上,虚机经常丢失网卡。导致无法上网。

1、winR 输入 services.msc 2、重启这两个服务。 VMware NAT service和VMware DHCP service

【Rust日报】query.rs - 搜索Rust的一切

rucola - 在终端中管理你的markdown文档 很酷的一个终端软件。 query.rs - 搜索Rust的一切 https://query.rs/ 文档,crate,错误代码等等。 就是Rust生态的google. 使用Rust 10年后,我想吐槽几句 这篇文章分享了作者在使用Rust编程语言中的经验…