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

lua基本语法使用

    Lua 是一个小巧的脚本语言。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。

1.基本语法

注解    --  单行  -- [[ ]] --  多行

2.标识符

标识符由字母、数字、下划线 组成,只能以下划线和字母开头,不要以下划线+大写字母组成标识符。
  1. 全局变量和局部变量

    local 变量  局部变量变量  全局变量 

4.ipairs() 和 pairs() 函数的区别

ipairs()     -- 正序循环数据 table
pairs()   -- 逆序循环数据 table

lua中只有false和nil为false,其余都为true

nil is false
0 is true

数据类型 number

lua中,只有一种数字类型- number
8字节、双精度

[[]] 可以包含换行的字符串

frank = [[l love you i miss youl kiss you 
]]

字符串与数字做数学运算时,优先将字符串转成数字

“1” + 1 = 2
“1” + “1” = 2 -- 这里正好和java相反啊
‘x’ + 1   -- 这里字符穿不能转化成数字就会报错
如果实现java 中字符串连接,使用 .. 符号 作为连接字符
#‘aa’  -- 2 这里是计算字符串的长度

5.数据类型 -- table

table 可做数据和Map
数组下标从1开始。

6.数据类型---其他

1. thread : 协程
2. userdata : 存储c,c++数据类型

7.索性

tab = {g1="v1",g2="v2",g3="v3"}
print(tab["g1"])   -- 直接将键引起来当索性
print(tab.g1)     --  直接点 和java 中的用法一样

8.循环

while(循环条件)
​
do  -- 循环这里都是 do 
​执行体;
​对循环条件的控制;
​
end--------------------------------------------for
​
数值for
for var=expr1,expr2,expr3(var 从expr1到expr2,expr3 为步长,可为空,默认为1)
​
do循环体
end------------------------------------------------  
repeat util -- 循环
​
repeat
​循环体
​
until(条件) -- 这里和do while 是一样的 先执行 在判断
​先执行循环体,直到满足条件;
  1. 流程控制

    if (成立) then -- 这里加一个 then 的关键字
    ​执行体1
    ​
    else
    ​执行体2
    ​
    end

    10.函数

    范围:默认local
    ​
    格式:
    ​
    function 函数名(参数列表)
    ​函数体;
    ​return 返回值 -- 有返回值就写没有就算了
    ​
    end
    ​

    可以参数

    可变参数:arg = {...}

    函数参数列表中,存在固定参数和可变参数,固定参数全部写在前面

    function 函数名(fmt,...) -- 固定参数写在前面

    选取可变参数的值:select

    a,b,c = select(3,...)

    11.运算符

    1.算术运算符 没有 ++ -- 其它的都一样啊
    2. 逻辑运算符与 : and   或  : or    非 : not
    1. 模块

      模块中的局部成员不能被外部访问

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

相关文章:

  • Git远程操作
  • 链表基础知识(一、单链表)
  • mysql的ON DELETE CASCADE 和ON DELETE RESTRICT区别
  • 如何快速将图片转为excel?
  • 元编程(Metaprogramming)
  • IEEE Transactions on Industrial Electronics工业电子TIE论文投稿须知
  • Linux--操作系统
  • HarmonyOS—实现UserDataAbility
  • Java实现插入排序及其动图演示
  • 设计模式——原型模式(创建型)
  • 深眸科技以机器视觉高性能优势,为消费电子行业提供优质解决方案
  • React setState()的两种书写方法对比
  • orb-slam2学习总结
  • 通过wireshark判断web漏洞的流量特征
  • Command ‘npm‘ not found, but can be installed with:sudo apt install npm 解决方案
  • 【Hadoop_04】HDFS的API操作与读写流程
  • go-zero开发入门之网关往rpc服务传递数据
  • Word插件-好用的插件-批量插入图片-大珩助手
  • 小程序域名SSL证书能用免费的吗?
  • selenium自动化(中)
  • uniapp app将base64保存到相册,uniapp app将文件流保存到相册
  • Navicat 技术指引 | 适用于 GaussDB 分布式的服务器对象的创建/设计
  • 五、HotSpot细节实现
  • DRBD分布式存储实验
  • go的结构体作为返回值
  • uniapp的subnvue苹果适配(ios)谷歌地图问题
  • 项目实战之RabbitMQ重试机制进行消息补偿通知
  • MySQL之数据库的创建指令
  • [网络安全]批处理(脚本)编写
  • 事件驱动架构 vs. RESTful架构:通信模式对比与选择