Модуль:No globals
Перейти до навігації
Перейти до пошуку
![{{i}}](http://upload.wikimedia.org/wikipedia/commons/thumb/1/19/Test_Template_Info-Icon.svg/50px-Test_Template_Info-Icon.svg.png)
![]() | Цей модуль Lua використовується в системних повідомленнях і на близько 908 000 сторінках або близько 19% всіх сторінок. Його зміни можуть призвести до миттєвих змін у користувацькому інтерфейсі Вікіпедії. Для уникнення великомасштабних збоїв та непотрібного навантаження на сервер, будь-які зміни спочатку потрібно перевірити на підсторінках /пісочниці та /тестів цього модуля, або у вашій пісочниці модуля. Потім перевірені зміни можуть бути впроваджені на цій сторінці єдиним редагуванням. Будь ласка, обговорюйте будь-які зміни на сторінці обговорення перед їхнім впровадженням. |
![]() | Цей модуль позначено як К:такий, що потребує захищеного статусу (43). Завершені модулі використовуються в дуже великій кількості статей, або часто використовуються як підстановки. Позаяк акти вандалізму або помилки можуть вплинути на багато сторінок і навіть незначне редагування призведе до істотного навантаження на сервери, вони підлягають захисту від редагувань. |
Цей модуль викликає помилку, якщо читається будь-який глобальний об'єкт або записується будь-який глобальний об'єкт, за винятком arg. Щоб використовувати його, додайте require('Module:No globals')
на початок модуля, що його використовує. Змінна arg виключена, оскільки вона потрібна для правильної роботи функції require в Scribunto. (див. вихідний код Scribunto тут).
Див. також
- Модуль:Log globals – додає всі нульові глобальні читання/записи до журналу Lua
Документація вище включена з Модуль:No globals/документація. (ред. | історія) Дописувачі можуть експериментувати на підсторінках пісочниця (створити | дзеркало) та тести (створити) цього модуля. Будь ласка, додавайте категорії до підсторінки /документація. Підсторінки цієї сторінки. |
local mt = getmetatable(_G) or {}
function mt.__index (t, k)
if k ~= 'arg' then
-- perf optimization here and below: do not load Module:TNT unless there is an error
error(require('Модуль:TNT').format('I18n/No globals', 'err-read', tostring(k)), 2)
end
return nil
end
function mt.__newindex(t, k, v)
if k ~= 'arg' then
error(require('Модуль:TNT').format('I18n/No globals', 'err-write', tostring(k)), 2)
end
rawset(t, k, v)
end
setmetatable(_G, mt)