lua变量

写了一个死循环才发现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

 

posted @ 2020-12-17 23:22  sky_kill  阅读(103)  评论(0)    收藏  举报