模組:No globals檢視原始碼檢視歷史
40px | 此Luazh-cn:模块; zh-tw:模組;在約11,000,000個頁面中使用。 為了避免困擾和不必要的服務器負載,所有變更都應該經過測試。請先在zh-cn:模块; zh-tw:模組;的/sandbox或者/testcases子頁面測試。測試過的內容可以一次更改。修改前請考慮至討論頁討論變更。 |
本模組已被保護。此為高度可見模組,其已用於大量條目或被頻繁替換引用。由於破壞或失誤會影響諸多頁面,即便細小的改動也可能導致大量服務器負載,因此已被保護,不可編輯。 |
This module causes an error if any nil global is read or if any global is written to, with the exception of arg. To use, add require('Module:No globals')
to the top of the module using it. The arg variable is excluded because it is necessary for Scribunto's require function to work properly. (See the Scribunto source code here.)
local mt = getmetatable(_G) or {}
function mt.__index (t, k)
if k ~= 'arg' then
error('Tried to read nil global ' .. tostring(k), 2)
end
return nil
end
function mt.__newindex(t, k, v)
if k ~= 'arg' then
error('Tried to write global ' .. tostring(k), 2)
end
rawset(t, k, v)
end
setmetatable(_G, mt)