lua基本语法使用

2023-12-13 05:43:26
    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 you
     l 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. 模块

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

文章来源:https://blog.csdn.net/weixin_42376775/article/details/134947372
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。