• lua基本语法


    Lua语法

    HelloWorld

    1、在Linux虚拟机的任意目录下,新建一个hello.lua

    2、添加下面内容

    print("hello,world");
    
    • 1

    3、运行

    lua hello.lua
    
    • 1

    在这里插入图片描述

    数据类型

    数据类型描述
    nil这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)。
    boolean包含两个值:false和true
    number表示双精度类型的实浮点数
    string字符串由一对双引号或单引号来表示
    function由 C 或 Lua 编写的函数
    tableLua 中的表(table)其实是一个"关联数组"(associative arrays),数组的索引可以是数字、字符串或表类型。在 Lua 里,table 的创建是通过"构造表达式"来完成,最简单构造表达式是{},用来创建一个空表。

    可以利用type函数测试给定变量或者值的类型:

    在这里插入图片描述

    变量

    lua在声明变量的时候,并不需要指定数据类型

    – 声明字符串

    local str = ‘hello’

    – 声明数字

    local num = 21

    – 声明布尔类型

    local flag = true

    – 声明数组 key为索引的 table

    local arr = {‘java’, ‘python’, ‘lua’}

    – 声明table,类似java的map

    local map = {name=‘Jack’, age=21}

    访问table:

    直接从1访问print(arr[1])

    print(map[‘name’])

    print(map.name)

    字符串拼接

    在这里插入图片描述

    循环

    local arr={"java","hello","world"}
    local map={name="jack",age=21}
    for index,value in ipairs(arr)do
    print(index,value)
    end
    
    for key,value in pairs(map) do
    print(key,value)
    end
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    函数

    function 函数名( argument1, argument2…, argumentn)

    – 函数体

    return 返回值

    end

    例如:定义一个函数,用来打印数组

    local function printArr(arr)
    for i,val in ipairs(arr) do
    print(val)
    end
    end
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    条件控制

    if(布尔表达式)

    then

    –[ 布尔表达式为 true 时执行该语句块 --]

    else

    –[ 布尔表达式为 false 时执行该语句块 --]

    end

    与java不同,布尔表达式中的逻辑运算是基于英文单词:

    操作符描述实例
    and逻辑与操作符。 若 A 为 false,则返回 A,否则返回 B。(A and B) 为 false。
    or逻辑或操作符。 若 A 为 true,则返回 A,否则返回 B。(A or B) 为 true。
    not逻辑非操作符。与逻辑运算结果相反,如果条件为 true,逻辑非为 false。not(A and B) 为 true。

    例如:自定义一个函数,可以打印table,当参数为nil时,打印错误信息

    local arr={"java","hello","world"}
    local map={name="jack",age=21}
    
    local function printArr(arr)
    
    if (not arr) --nil表示false
    then print("数组不能为空")
    return nil
    end
    
    for i,val in ipairs(arr) do
    print(val)
    end
    end
    
    printArr(arr)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
  • 相关阅读:
    概率的本质是什么
    windows11安装wsl
    Python技能树——进阶语法讲解(2)
    【RuoYi-Vue-Plus】学习笔记 33 - Redisson(八)RedissonMapCache 缓存流程分析(上)(Lua 脚本)
    WPF 截图控件之绘制箭头(五)「仿微信」
    数据结构与算法----栈和队列(Stack & Queue)
    如何让HTTPS站点评级达到A+? 还得看这篇HTTPS安全优化配置最佳实践指南
    小程序如何获取code
    转载 | 自动驾驶开源数据集总结
    Factory Method
  • 原文地址:https://blog.csdn.net/qq_57907966/article/details/126817734