作用域

2018-02-24 15:45 更新

作用域

Lua的作用域以关键字end进行标识。

对于变量,有一条原则:在一切能使用local修饰的情况下,使用local进行修饰。

因为不用local修饰的变量会自动变成全局变量。全局变量十分危险,很容易被篡改而不知道在哪里被篡改了,这很容易导致顽固的bug出现。并且全局变量的处理速度也比局部变量的速度要慢很多。

所以,尽可能的用local来修饰变量。

有时候,用do .. end可以用来明确限定局部变量的作用域。

local  v

do

  local  x  =  u2*v3-u3*v2

  local  y  =  u3*v1-u1*v3

  local  z  =  u1*v2-u2*v1

  v  =  {x,y,z}

end  -- x,y,z的作用域结束,被系统清理

local  count

do

  local  x  =  0

  count  =  function()  x  =  x  +  1;  return  x  end

end  -- x的作用域结束,被系统清理
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号