Această pagină este protejată de mișcare
Această pagină este protejată

Formă: fără globali

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

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 )