Lua开发中的坑(持续更新ing。。。)

1、 关于数据类型, lua只有table 表(数组+字符串), 并且下标还是从1开始的!!!

2、关于”~=” 这个是不等于号

3、LUA只要赋值一个变量,这个变量就自动定义为全局变量了!

4、没有连+ 比如 += 。。。。。

5、 for 的两种写法

--No.1
for k, v in pairs(tab) do
    print(k .. " - " .. v)
end

--No.2
for i=1, 10 do
    print(a[i])
end

6.对多变量赋值要进行依次赋值。

7.特别注意,当索引是字符串类型的时候,才能去掉引号,直接用点。

a = {}
a["key"] = "key"

print(a["key"])
print(a.key)

8.
string.char(arg) 和 string.byte(arg[,int])
char 将整型数字转成字符并连接
byte 转换字符为整数值(可以指定某个字符,默认第一个字符)。

print(string.char(97,98,99,100))
>abcd
print(string.byte("ABCD",2))
>66
print(string.byte("ABCD"))
>65

从杨大神汲取的知识:

data = "ABCD"
print(data:byte(4))

>68

9、uart:on (×) 应该是 uart.on

10、TcpSocketTable[TcpConnectedCnt]:close() 记得加括号

11、uart.write(data) 应该特别声明串口号为0 uart.write(0,data)

12、突然发现LUA有 if elseif else 的写法。。。。一直以为没有呢。。。

    if  Mode:byte(1) == 48 then
        print("Wifi MODE: SOFTAP")
        wifi.setmode(wifi.SOFTAP)
    elseif  Mode:byte(1) == 49 then
            print("Wifi MODE: STATION")
            wifi.setmode(wifi.STATION)  
    else
        print("Wifi MODE: STATIONAP")
        wifi.setmode(wifi.STATIONAP)         
    end

13、关于data的位置问题
data的位置

这个socket以及data在前面

UdpSocket:on("receive", function(socket, data, port, ip) --接收数据监听函数 另外注意此处的socket以及data参数在前面

还有另外一个这个在后面

UdpSocket:send(ConnectPort, ConnectIP, data)

猜你喜欢

转载自blog.csdn.net/recclay/article/details/77774013