- 1
- 2
_G = setmetatable(_G, {__newindex = function(t,k,v) t[k] = "sG_nil" end})
pitux=1
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
_G = setmetatable(_G, {__newindex = function(t,k,v) t[k] = "sG_nil" end})
pitux=1
чо поцоны, изи рекурсия.
А "gagen" есть?
Можно через «перегрузку»:
http://ideone.com/5SJWEh
А ещё прикольно, что по сути получилось ООП, как в Smalltalk/Obj-C: у нас единый диспетчер (__call для вызова из экземпляра объекта и __callStatic для вызова без $this) обрабатывает произвольные сообщения (в данном случае имя метода 'eval' — это по сути сообщение).
Эта мета вызывается когда новый элемент в таблице пытается появится
_G эта таблица глобальных переменных.
То есть любая глобальная переменная = элементу таблицы _G
следовательно создавая новую глобальную переменую он создает новый элемент в _G и вызывает метаметод __newindex который в свою очередь присваивает _G["pitux"]="sG_nil" снова, и опять вызывется этот метаметод а потом снова и снова.
lua это audioserf, gta sa и много чего ещё
вообще не пизди на lua, норм язык
КАКОЙ ФУЛЬГОР )))