Существует одна вызываемая функция:
{{#invoke:Совет по редактированию|getAdvice}}
Он выполняет итерацию по предоставленным параметрам, используя то, что обнаружено соответствующим образом, для извлечения и организации вывода {{subst:Editing advice}}
.
local getArgs = require ( 'Module:Arguments' ). getArgs local p = {} — Извлекает расширения меташаблонов рекомендаций по редактированию local function getRequestedAdvice ( haystack , needle , pages ) — если сделан запрос на эту рекомендацию if string.match ( haystack , needle ) then return mw . getCurrentFrame (): expandTemplate { title = 'Editing advice/meta/' .. needle , args = pages or {} } end return '' end -- Возвращает объединение извлеченных расширений шаблона local function compileRequestedAdvice ( about , pages ) return getRequestedAdvice ( about , 'preview' , pages ) .. getRequestedAdvice ( about , 'summary' ) .. getRequestedAdvice ( about , 'sandbox' ) end --[[ Основная функция: перебирает предоставленные параметры и использует обнаруженные данные для вызова и организации запрошенного вывода ]] function p . _getAdvice ( cleargs ) -- Создает захватывающие переменные для данных local about = '' local pages = {} local section = {} local f = mw . getCurrentFrame () — Перебирает предоставленные параметры для ключа и значения парами ( cleanargs ) do — Если параметр указывает запрошенную рекомендацию if key == 'about' then — сохраняет значение about = value — Если параметр указывает опцию заголовка раздела elseif key == 'section' then — сохраняет значение section [ 1 ] = значение else --[[ Если ни один из вышеперечисленных вариантов не выполняется, эти параметры должны быть страницами , поэтому сохраняйте значения по мере их обработки ]] страницы [ # страниц + 1 ] = значение end end -- Вывод конкатенации извлеченных строк return f : expandTemplate { title = 'Editing advice/meta/start' , args = section } .. compileRequestedAdvice ( about , pages ) .. f : expandTemplate { title = 'Editing advice/meta/end' } end -- Получаем и очищаем аргументы фрейма и передаем их в функцию _getAdvice p . getAdvice ( frame ) local args = getArgs ( frame ) return p . _getAdvice ( args ) end return p