当前位置: 首页 > news >正文

lua学习(1)

vscode打开c或者lua文件 插件显示禁用,怎么开启插件。

1.

lua 字符串  单个引号和双引号都可变量的定义默认是全局的删除一个变量将其赋值为nil即可   如:  b=nilnil还可以对表中的数据进行删除,也可删除一个表只要变量不是nil,变量即存在标识符以一个字母 A 到 Z 或 a 到 z 或下划线 _ 开头后,加上 0 个或多个字母,下划线,数字(0 到 9)lua的命名方式不支持特殊字符,除下划线以外的特殊字符,如# % @ &是不能用来命名变量的lua区分大小写变量的命名不要用下划线加大写字母命名 保留字通常以这种方式命名保留字的作用就是为关键字添加一些特殊的功能保留字的形式:_NAME  lua里使用索引大多数都是从1开始的表的定义是{}lua中没有字典和数组的概念,但表可以类似的表示这两个在lua中表的表现形式有三种,分别为tab1,tab2,tab3tab1:是一个空表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判断语句 也需要加ednif判断格式: if  条件 then语句else语句end              
在lua中函数可以被当成一个数据使用,可以赋值给另一个变量,
使变量用有和函数一样的功能

8.

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

9.

lua中支持变量的类型进行转换,变量的类型决定于给定的数据lua中的全局变量和局部变量:全局变量:任意定义的变量一般来说都是全局变量局部变量:用local 定义的变量为局部变量,局部变量的生命周期截至到所在语句块。注意:如果局部变量定义在函数内,则局部变量的生命周期截至到函数结束但如果局部变量定义在函数外,那么这个局部变量的生命周期截至到这个lua文件运行结束,此时局部变量和全局变量的生命周期时一样的但是如果在函数中定义个一个变量,这个变量也是全局变量,在函数里面定义的变量也是全局变量,在函数之外的语句当中仍然有效函数里面定义的全局变量,如果不引用函数,变量无法生效制作代码块:doend就是做一些事情,相当于一个子代码块

http://www.lryc.cn/news/416940.html

相关文章:

  • SQL报错注入之updatexml
  • 单元测试的重要性
  • mysql线上查询数据注意锁表问题
  • UE5 右键菜单缺少Generate Visual Studio project files
  • 前端性能优化-webpack构建优化
  • Traefik:部署与实战
  • [Spring] SpringBoot统一功能处理与图书管理系统
  • 实现吸顶效果,一个页面多个元素吸顶效果
  • 【C++入门(下)】—— 我与C++的不解之缘(二)
  • 【数据结构】哈希应用-STL-位图
  • Unbuntu 服务器- Anaconda安装激活 + GPU配置
  • python 装饰器记录函数用时
  • 实验10 任何一个非0自然数m的立方均可写成m个连续奇数之和。
  • Jenkins的安装方式
  • 网络之华为S5700S-52P-LI交换机系统恢复
  • 蜂窝网络架构
  • 培训第二十二天(mysql数据库主从搭建)
  • 速盾:CDN回源失败都有什么原因?
  • C语言 | Leetcode C语言题解之第328题奇偶链表
  • 8月6日笔记
  • 爱可声助听器:在全球听力市场中破冰前行
  • 华为OD面试 - 最佳升级时间窗(Java JS Python C C++)
  • LE-50821F/FA激光扫描传感器|360°避障雷达之性能参数与配置清单说明
  • 精准洞察农田生态,智慧农业物联网环境监测与数据采集系统来袭
  • sql注入复现(1-14关)
  • Spring Boot-12
  • 【Linux】进程详解
  • python的多线程
  • 在Kylin服务器安装PostgreSQL16数据库
  • 【第15章】Spring Cloud之Gateway网关过滤器(URL黑名单)