我有一個腳本,我加載loadfile
然後運行它。此外,我有變量love
在父lua腳本的範圍內,我想這個變量是nil
裏面的子腳本enivornment但其他一切都沒有觸動(print
,math
,pairs
,所有的Lua的標準庫)。我怎樣才能做到這一點?如何從lua中的子腳本環境中移除一個變量?
這不起作用:
local scenario = love.filesystem.load(script)
local env = {}
setmetatable(env, { __index = _G })
env.love = nil
env.game = Game
setfenv(scenario, env)
爲什麼將它設置爲'nil'不會添加它? –
設置爲'nil'將刪除表中的條目。 – lhf
但它沒有 - 子腳本仍然可以在它的範圍內使用「愛」。 –