lua脚本的使用

  1. lua字符串连接符不是+,而是 ..
    例如 "adc".."def" 的结果是"adcdef"

  2. 变量定义

    • 局部变量: local 变量名字 = 123;
    • 全局变量: 变量名字 = 123;
  3. 字符串表示方式 "adc" 或者 ‘adc’

  4. 循环

    • for i=1,终值,步长 do 逻辑代码 end

      local rt = {}
      for i = 1,10,1 do
        rt[i] = i
      end
      
    • for k,v in ipairs(rt) do 代码 end, 数组用 ipairs ,对象用 pairs

      local i = 10
      for k,v in ipairs(rt) do
      
        rt[k]=v.."value"
      
      end
      
    • while 条件 do 代码 end

      local i = 10
      while i<20 do
      	rt[i] = i.."a"
      	i = i+1
      end
      
    • repeat 代码 until 退出条件

      local i = 10
      repeat
        rt[i] = "b"..i
        i = i+1
      until i>20
      
  5. 分支

    local a = 1
    if a=1 then
        print(1)
    elseif a=2 then 
        print(2)
    else 
        print("其他")
    end
    
  6. 方法定义
    参数...表示动长参数数组,使用{...} 获取

    local f = function(a,b,...)
            local args = {...}
    
    
            return args
    end
    
  7. 内置函数

    • string.len(string) 取字符串长度

    • string.lower(string) 小写

    • string.upper(string) 大写

    • string.rep(string,n) 的到重复多少次的字符串

    • string.sub(string,start,end) 字符串截取 1 开始 ,-1 表示结束

    • string.char(数字) 把数字转成字符串

    • string.byte(字符串,i,j) 把字符串的一部分转成数字

    • string.find(字符串,pattern) 字符串查找

    • string.gsub(s,pattern)

    • table.concat(table,分隔符,i,j) 把数组转换成字符串

    • table.insert(table,[pos],value) 在指定位置插入一个元素,后面的依次向后移动

    • table.remove( table,[pos]) 在指定位置弹出并且删除一个元素,后面的元素前移动

    • table.sort(table, function)排序

    • math.abs(a) 绝对值

    • math.ceil(a) 向上取整

    • math.floor(a) 向下取整

    • math.max(a,b) 取大的值

    • math.min(a,b) 取小的值

    • math.random() 返回0-1的随机数,math.random(a) 返回1-a的随机数,math.random(a,b) 返回a-b的随机数

    • math.radomseed(x) 生成随机数种子,设置了这个影响 math.random的值

    • cjson.encode(table) table类型转换成jsonString

    • cjson.decode(jsonString) jsonString转成 table类型

    • cmsgpack.pack(table) table类型系列化成string

    • cmsgpack.unpack(string) 把字符反系列化成table

  8. 数据类型

    • lua是弱类型语言和js类似
    • 数字类型表示:local a = 1;
    • 字符串表示:local b = "123";
    • 数组类型表示:local c =
    • 数组类型的访问 c[1],c[2],需要注意的是 lua的下标是1 开始的。
    • 对象类型表示 local d =
    • 对象类型的访问 d["key1"],d["key2"]
    • 数组类型和对象类型在lua里面都叫做table
  9. 获取字符串或者table类型的长度使用 #变量名
    返回动态参的长度

    local f = function(a,b,...)
            local args = {...}
            return #args
    end
    
  10. lua区分大小写

  11. 单行注释--

  12. 多行--[[ ]]

  13. lua的不等于 是 ~=

  14. 逻辑运算符: and ,or , not

  15. 类型转换 tonumber,tostring

  16. lua的 语句结束不需要使用 分号,但是用也可以

posted on 2023-03-04 20:21  zhangyukun  阅读(334)  评论(0编辑  收藏  举报

导航