作用域
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的作用域结束,被系统清理
以上内容是否对您有帮助:
← 命名
更多建议: