作用域

2018-02-24 15:45 更新

作用域

Lua的作用域以關(guān)鍵字end進(jìn)行標(biāo)識(shí)。

對(duì)于變量,有一條原則:在一切能使用local修飾的情況下,使用local進(jìn)行修飾。

因?yàn)椴挥?code>local修飾的變量會(huì)自動(dòng)變成全局變量。全局變量十分危險(xiǎn),很容易被篡改而不知道在哪里被篡改了,這很容易導(dǎo)致頑固的bug出現(xiàn)。并且全局變量的處理速度也比局部變量的速度要慢很多。

所以,盡可能的用local來修飾變量。

有時(shí)候,用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的作用域結(jié)束,被系統(tǒng)清理

local  count

do

??local  x  =  0

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

end  -- x的作用域結(jié)束,被系統(tǒng)清理
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)