我知道還有其他類似的主題,但無法找到我的問題的直接答案。lua變量範圍
假設你有一個函數,例如:
function aFunction()
local aLuaTable = {}
if (something) then
aLuaTable = {}
end
end
對於aLuaTable變量if語句裏,它仍然是地方吧?基本上我問的是,如果我第一次將變量定義爲本地變量,然後我一次又一次地使用變量,它會在程序剩餘時間內保持局部變化,這是如何工作的?
此外,我讀這個定義爲lua全局變量:
任何變量不是在一個定義的塊被認爲是在全局範圍內。 全局範圍內的任何內容均可由所有內部範圍訪問。
這是什麼意思是不是在一個定義的塊?我的理解是,如果我「隨便聲明」一個變量它將永遠是全球性的是不正確的?
對不起,如果問題太簡單了,但來自Java和objective-c,lua對我來說很奇怪。
沒有很多XP用LUA的地獄,但據我所知,該變量將在該函數內部範圍 - 這將是超出範圍的功能之外。任何在函數體(定義塊)之外聲明的變量被認爲是在全局範圍內,並且可以從該lua腳本中的任何地方訪問 – Charleh