【Lua學習筆記4】Lua中的局部變量和塊

局部變量

lua中有兩種變量,一種全局變量,一個局部變量。變量默認都是全局變量。 使用local來聲明一個局部變量:ui

local a = 1; --> 局部變量
b = 2 --> 全局變量
複製代碼

局部變量的做用域只在變量聲明所在的塊中有效。舉個例子:lua

x = 10 --> 全局x
while i<=x do
    local x = i*2    -- 在while循環體內有效
    print(x)         --> 2, 4, 6, 8, ...
    i = i + 1
end

if i > 20 then
    local x          -- 只在then語句範圍內有效
    x = 20
    print(x + 2)
else
    print(x)         --> 10 這裏輸出的是全局的x
end
複製代碼

像上面這些while,if等語句中,local變量生效的範圍就叫作塊。是局部變量的做用域範圍。spa

顯示聲明一個塊。 能夠使用do end來顯示的聲明一個做用域塊,這樣在這個塊中聲明的變量只在這個塊中有效。code

舉個例子:作用域

do
    local a2 = 1
    local d = 2
    x1 = a2 + d
    x2 = a2 - d
end          
print(x1, x2)  --> 3 -1
print(a2, d)   --> nil nil
複製代碼
相關文章
相關標籤/搜索