lua 语法的使用总结
1、字符串连接
    local tmp = "abc"
    local tmp1 = "ddd"
    tmp..tmp1
2、 table 类型  就是关联数组
    local table = {}
    table["abc"] = ""
    初始化
      local table = {0x7E, 0x01, 0x05}
      local table1 = {key1=fun, key2=fun2}
   遍历table表
   for key,value in paris(table) do
     print(key, value)
   end
3、 打印内容
    print("print value:", a, b)
4、 进行串口的十六进制的发送跟接收时,需要进行相关的设置
    1、发送时用%c进行转换为ascii码表对应的字符 string.format("%c", buff[i])
    2、解析字符串里含有的十六进制数,要用string.byte(result, pos)
当发送为字符串
5、普通数组
    array = {}  初始化
6、 while ()
    do
       i++
    end
   lua语法不支持在while循环里进行 while(nLen = nLen--)
7、 lua 不支持自增、自减
8、lua 中的 ^ 为幂的乘方,在C为为异或操作, C的幂的乘方为pow(10, 2)的做法
9、 lua 位运算库
    local bit32 = require("bit")
    bit32.band(0x123, 0xff)  与操作
    bit32.lshift(x, n)    左移
    bit32.rshift(x, n)    右移 
                        异或
10、
for var=exp1,exp2,exp3 do  
    <执行体>  
end  
var从exp1变化到exp2,每次变化以exp3为步长递增var,并执行一次"执行体"。exp3是可选的,如果不指定,默认为1。
11、逻辑运算符
   and  or  not
12、 异或..就是不带进位的加法..
1+1=10,舍掉进位为0
1+0=1
0+1=1
0+0=0
13、require 与 loadfile、dofile的异同
require 的文件只能寻找package.path里的文件, 无法指定路径
loadfile 只加载一次(只需要编译一次),可多次运行,, 而dofile需要每次调用前都要重新编译。
loadfile与dofile都可以指定路径加载脚本
参考链接: https://www.cnblogs.com/heyongqi/p/5167088.html
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号