Модуль:Transclude — различия между версиями
(Новая страница: «local M={} --------------------------------------------------------- -- Функции для работы с параметрами вызвавшего шабл…») |
|||
| Строка 1: | Строка 1: | ||
| − | + | {{module rating|p}} | |
| − | + | == Функции == | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | === uni === | |
| − | + | {{#invoke:Transclude|uni|''имя шаблона''|''список параметров''…}} | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | Унифицирует обращение к шаблону, преобразует все имена параметров к нижнему регистру и позволяет задавать удобные псевдонимы (вводить параметрами в нижнем регистре). | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | === forall === | |
| − | + | {{#invoke:Transclude|forall|''имя шаблона''}} | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | Применяет шаблон<!--, переданный первым параметром invoke, нихрена не понял, что Ignatus имел в виду --Incnis Mrsi --> | |
| − | + | ко всем аргументам вызывающего шаблона или их группам, можно задавать доп. опции. | |
| − | + | ||
| − | + | Если после имени шаблона поставить «#», следующая часть параметра будет разделителем, по умолчанию ничего. | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | === escapeparams === | |
| − | + | {{#invoke:Transclude|escapeparams|(зарезервировано автором?) | |
| − | + | |''разделитель пар''|''альтернатива знаку равенства'' | |
| − | + | |''суффикс''}} | |
| − | + | ||
| − | + | Возвращает параметры (вызывающего шаблона? --[[user:Incnis Mrsi|Incnis Mrsi]]) через «|» с заменой «=» на «{{tl|1==}}» и «|» на «{{tl|!}}». Параметры предусмотрены, но необязательны. | |
| − | + | ||
| − | + | Предполагается когда-то снабдить интеллектом для незамены палочек в вики-ссылках и сортировки. | |
| − | + | ||
| − | + | <small>Назначение параметров f.args[2], f.args[3] и f.args[4] угадано участником Incnis Mrsi и может не соответствовать замыслу автора, исходная документация на них отсутствовала.</small> | |
| − | + | ||
| − | + | === npc === | |
| − | + | {{#invoke:Transclude|npc|''имя шаблона 1''[|''имя шаблона 2''…] | |
| − | + | |''базовое имя''[=''значение'']|…}} | |
| − | + | ||
| − | + | <small>Абзац сильно переписан, т.к. авторский текст был тотально невразумителен. --Incnis Mrsi</small> | |
| − | + | : [[Итератор]] по массиву из групп параметров типа «параметр{{mvar|k}}=…» (где номер {{mvar|k}} группы — десятичное число) вызываемого шаблона. Группы подставляются в список из одного или более указанных шаблонов, заданных в виде нумерованных параметров. Одна группа в один из шаблонов, которые применяются по круговой очереди с возрастанием {{mvar|k}}. Вывод шаблонов [[конкатенация|соединяется]] в том же порядке. Пример использования с двумя шаблонами: полосатые строки в таблицах. | |
| − | + | ||
| − | + | Именованные параметры представляют базовые имена вызывающего шаблона (автор хотел сказать, его параметров? --Incnis Mrsi), которые будут также именами параметров для вызываемых шаблонов. Их значения (необязательные) будут использоваться по умолчанию, если для какого-то {{mvar|k}} есть некоторые, но не все значения. <small>По-видимому автор намекает на то, что когда для какого-то {{mvar|k}} нет значений никаких, на нём процесс и останавливается. --Incnis Mrsi</small> | |
| − | + | ||
| − | + | Параметры сортируются <u>при выводе</u> по числам (начиная с ничего, потом ноль).{{непонятно}}<small> видимо, отсылка к оператору table.sort(ns); но смысл ускользает. --Incnis Mrsi</small> | |
| − | + | ||
| − | + | === call === | |
| − | + | {{#invoke:Transclude|call|''имя шаблона''}} | |
| − | + | ||
| − | + | Просто вызывает указанный шаблон с аргументами вызывающего. | |
| − | + | ||
| − | + | === join === | |
| − | --[[ | + | {{#invoke:Transclude|join|''разделитель''|''терминальный разделитель'' |
| − | + | |''игнор''|[from=''номер''|][to=''номер''|]''список параметров''…}} | |
| − | + | ||
| − | + | Версия [[#forall]] без шаблона, объединяет нумерованные аргументы от <tt>from</tt> или 1 до <tt>to</tt> или первого отсутствующего через указанный ''разделитель''. | |
| − | + | ||
| − | + | Последний элемент можно присоединять иначе, задав ''терминальный разделитель'' (необязательный; по умолчанию «,» или «и»). | |
| − | ]] | + | |
| − | + | Если значение параметра ''игнор'' равно «s», то строки из пробелов игнорируются; если оно равно «_», то игнорируются пустые строки. | |
| + | |||
| + | <!-- === split === | ||
| + | {{#invoke:Transclude|split|''имя шаблона''|''разделитель''|''строка параметров''}} | ||
| + | |||
| + | Разрезает строку указанным разделителем и передаёт куски шаблону. | ||
| + | |||
| + | Примечание: по состоянию на 15 мая не удалось сделать демонстрацию работы данной функции. Есть предположение, что в коде (см. комментарии) имеется ошибка. | ||
| + | |||
| + | {{#invoke:Transclude|split|code| |за code сада}} | ||
| + | {{#invoke:Transclude|split|code| |засада}} | ||
| + | {{#invoke:Transclude|split|code|-|за-сада}} | ||
| + | --> | ||
| + | === cycle === | ||
| + | {{#invoke:Transclude|cycle|''имя шаблона''|{{mvar|n}}|''список параметров''…}} | ||
| + | |||
| + | Действует аналогично [[#forall]] по числовой переменной, изменяющейся от 1 до {{mvar|n}}. Другое начало можно задать в виде «-10..10» вместо {{mvar|n}}. Также можно задать предел цикла в виде имени шаблона (если второго параметра нет или он имеет вид «1..», шаблон раскрывается, пока не пуст). Не увлекитесь! | ||
| + | |||
| + | Замечание: номера нумерованных параметров шаблона при записи увеличить на 1. | ||
| + | <!--Не работает | ||
| + | === pass === | ||
| + | {{#invoke:Transclude|pass|''имя шаблона''|''имя параметра''|''значение''…}} | ||
| + | |||
| + | Передаёт шаблону параметры без подрезки. | ||
| + | --> | ||
| + | == Примеры использования == | ||
| + | * [[Шаблон: Карточка/Temp]] (для {{#invoke:Transclude|npc}}) | ||
| + | |||
| + | |||
| + | <noinclude> | ||
| + | [[Категория:Модули:Документация]]</noinclude> | ||
Текущая версия на 17:44, 27 октября 2017
{{#invoke:Error|error|Этот шаблон должен использоваться в пространстве модулей.|tag=}}
Содержание
Функции[править]
uni[править]
{{#invoke:Transclude|uni|имя шаблона|список параметров…}}
Унифицирует обращение к шаблону, преобразует все имена параметров к нижнему регистру и позволяет задавать удобные псевдонимы (вводить параметрами в нижнем регистре).
forall[править]
{{#invoke:Transclude|forall|имя шаблона}}
Применяет шаблон ко всем аргументам вызывающего шаблона или их группам, можно задавать доп. опции.
Если после имени шаблона поставить «#», следующая часть параметра будет разделителем, по умолчанию ничего.
escapeparams[править]
{{#invoke:Transclude|escapeparams|(зарезервировано автором?)
|разделитель пар|альтернатива знаку равенства
|суффикс}}
Возвращает параметры (вызывающего шаблона? --Incnis Mrsi) через «|» с заменой «=» на «{{=}}» и «|» на «{{!}}». Параметры предусмотрены, но необязательны.
Предполагается когда-то снабдить интеллектом для незамены палочек в вики-ссылках и сортировки.
Назначение параметров f.args[2], f.args[3] и f.args[4] угадано участником Incnis Mrsi и может не соответствовать замыслу автора, исходная документация на них отсутствовала.
npc[править]
{{#invoke:Transclude|npc|имя шаблона 1[|имя шаблона 2…]
|базовое имя[=значение]|…}}
Абзац сильно переписан, т.к. авторский текст был тотально невразумителен. --Incnis Mrsi
- Итератор по массиву из групп параметров типа «параметрШаблон:Mvar=…» (где номер Шаблон:Mvar группы — десятичное число) вызываемого шаблона. Группы подставляются в список из одного или более указанных шаблонов, заданных в виде нумерованных параметров. Одна группа в один из шаблонов, которые применяются по круговой очереди с возрастанием Шаблон:Mvar. Вывод шаблонов соединяется в том же порядке. Пример использования с двумя шаблонами: полосатые строки в таблицах.
Именованные параметры представляют базовые имена вызывающего шаблона (автор хотел сказать, его параметров? --Incnis Mrsi), которые будут также именами параметров для вызываемых шаблонов. Их значения (необязательные) будут использоваться по умолчанию, если для какого-то Шаблон:Mvar есть некоторые, но не все значения. По-видимому автор намекает на то, что когда для какого-то Шаблон:Mvar нет значений никаких, на нём процесс и останавливается. --Incnis Mrsi
Параметры сортируются при выводе по числам (начиная с ничего, потом ноль).Шаблон:Непонятно видимо, отсылка к оператору table.sort(ns); но смысл ускользает. --Incnis Mrsi
call[править]
{{#invoke:Transclude|call|имя шаблона}}
Просто вызывает указанный шаблон с аргументами вызывающего.
join[править]
{{#invoke:Transclude|join|разделитель|терминальный разделитель
|игнор|[from=номер|][to=номер|]список параметров…}}
Версия #forall без шаблона, объединяет нумерованные аргументы от from или 1 до to или первого отсутствующего через указанный разделитель.
Последний элемент можно присоединять иначе, задав терминальный разделитель (необязательный; по умолчанию «,» или «и»).
Если значение параметра игнор равно «s», то строки из пробелов игнорируются; если оно равно «_», то игнорируются пустые строки.
cycle[править]
{{#invoke:Transclude|cycle|имя шаблона|Шаблон:Mvar|список параметров…}}
Действует аналогично #forall по числовой переменной, изменяющейся от 1 до Шаблон:Mvar. Другое начало можно задать в виде «-10..10» вместо Шаблон:Mvar. Также можно задать предел цикла в виде имени шаблона (если второго параметра нет или он имеет вид «1..», шаблон раскрывается, пока не пуст). Не увлекитесь!
Замечание: номера нумерованных параметров шаблона при записи увеличить на 1.
Примеры использования[править]
- Шаблон: Карточка/Temp (для {{#invoke:Transclude|npc}})