Модуль:No globals
Зміни шаблонів/файлів цієї версії очікують на перевірку.
Стабільна версія була перевірена 19 жовтня 2020.

![]() |
Цей модуль використовується в системних повідомленнях. Його зміни можуть призвести до миттєвих змін у користувацькому інтерфейсі Вікіпедії. Для уникнення маштабних збоїв, будь-які зміни повинні спочатку перевірятися на підсторінках /пісочниці та /тестів цього модульу, або у вашому особистому просторі. Потім перевірені зміни можуть бути впроваджені до цього модульу єдиним редагуванням. Будь ласка, обговорюйте будь-які зміни на сторінці обговорення перед їхнім впровадженням. |
![]() |
Цей модуль позначено як К:такий, що потребує захищеного статусу (13). Завершені модулі використовуються в дуже великій кількості статей, або часто використовуються як підстановки. Позаяк акти вандалізму або помилки можуть вплинути на багато сторінок і навіть незначне редагування призведе до істотного навантаження на сервери, вони підлягають захисту від редагувань. |
Цей модуль викликає помилку, якщо читається будь-який глобальний об'єкт або записується будь-який глобальний об'єкт, за винятком 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)