Formă: fără globali
Salt la navigare Salt la căutare
Instructiuni de folosire
Acesta este un modul scris în Lua . Următoarele instrucțiuni sunt cuprinse în sub- modulul: Nu GLOBALS / om ( schimbări · istorie )
Sandbox: Modul: Fără globali / sandbox ( modificări · istoric ) · Test: Modul: Fără globali / test ( modificat · Istoric · Executare )
Acesta este un modul scris în Lua . Următoarele instrucțiuni sunt cuprinse în sub- modulul: Nu GLOBALS / om ( schimbări · istorie )
Sandbox: Modul: Fără globali / sandbox ( modificări · istoric ) · Test: Modul: Fără globali / test ( modificat · Istoric · Executare )
Includerea acestui modul este pentru a verifica dacă modulul curent nu citește variabile globale nule și nu creează altele noi, cu excepția variabilei "arg" (este necesară Scribunto, vezi aici ). Este util pentru detectarea erorilor de programare.
Pentru ao utiliza, trebuie doar să adăugați la începutul formularului: require ( „Modul: fără globali” )
local mt = getmetatable ( _G ) sau {}
funcția mt . __index ( t , k )
dacă k ~ = 'arg' atunci
eroare ( „Încercat să citesc zero global” .. tostring ( k ), 2 )
Sfârșit
întoarceți zero
Sfârșit
funcția mt . __newindex ( t , k , v )
dacă k ~ = 'arg' atunci
eroare ( „Am încercat să scriu la nivel global” .. tostring ( k ), 2 )
Sfârșit
set brut ( t , k , v )
Sfârșit
setmetatable ( _G , mt )