标签:bsp condition variable ble 循环 问题 false cond 死循环
写了一个死循环才发现lua全局变量和局部变量的问题。
问题原因:
local condition = true
while(condition)
...
if(xx)
local condition = false
才发现是if中的局部变量在执行后就失效了,未作用于whiile条件判断,从而导致死循环:
基础知识:
Lua 变量有三种类型:全局变量、局部变量、表中的域。
Lua 中的变量全是全局变量,那怕是语句块或是函数里,除非用 local 显式声明为局部变量。
局部变量的作用域为从声明位置开始到所在语句块结束。
变量的默认值均为 nil。
参考链接:https://www.runoob.com/lua/lua-variables.html
标签:bsp condition variable ble 循环 问题 false cond 死循环
原文地址:https://www.cnblogs.com/sky-kill/p/14152593.html