Шаблон:Str ≥ len/doc — различия между версиями
Korogodin (обсуждение | вклад) (Новая страница: «<includeonly>{{#ifeq: x{{#if:x|{{{1|}}}}} | x{{padleft:{{{1|}}}| {{{2|}}} }} <!-- str >= len --> | {{{3|}}} | {{{4|}}} }}</includeonly><noinclude> {{doc}} <!-- Add...») |
Korogodin (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | < | + | <noinclude>{{docpage}}</noinclude> |
− | + | === Использование === | |
− | + | ||
− | }}</ | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | </noinclude> | + | Имеет от 3 до 4 неименованных параметров. Возвращает значение 3-го параметра в случае, когда длина 1-го параметра-строки больше или равна значению 2-го параметра; в противном случае возвращает значение 4-го параметра или пустую строку, если его нет. |
+ | |||
+ | Здесь шаблон проверяет, имеет ли строка "abcde" 4 символа или больше: | ||
+ | |||
+ | <pre> | ||
+ | {{str ≥ len | abcde | 4 | ||
+ | | равно или больше. | ||
+ | | меньше. | ||
+ | }} | ||
+ | </pre> | ||
+ | |||
+ | Возвращает следующее значение: | ||
+ | |||
+ | :{{str ≥ len | abcde | 4 | ||
+ | | равно или больше. | ||
+ | | меньше. | ||
+ | }} | ||
+ | |||
+ | Проблемы могут возникнуть, если использовать параметры, содержащие знак равенства "<code>=</code>". Однако эта проблема легко решается использованием нумерованных параметров. Например, проверим, содержит ли строка "ab=cde" не менее 100 символов: | ||
+ | |||
+ | <pre> | ||
+ | {{str ≥ len | ||
+ | | 1 = ab=cde | ||
+ | | 2 = 100 | ||
+ | | 3 = Equal "=" or longer. | ||
+ | | 4 = Shorter, not "=". | ||
+ | }} | ||
+ | </pre> | ||
+ | |||
+ | Этот шаблон возвращает следующее значение: | ||
+ | |||
+ | :{{str ≥ len | ||
+ | | 1 = ab=cde | ||
+ | | 2 = 100 | ||
+ | | 3 = Equal "=" or longer. | ||
+ | | 4 = Shorter, not "=". | ||
+ | }} | ||
+ | |||
+ | Желательно всегда использовать нумерованные параметры, поскольку заранее неизвестно, какие значения параметров будут подставлены в шаблон. | ||
+ | |||
+ | === Параметры === | ||
+ | |||
+ | Детальное описание параметров: | ||
+ | |||
+ | <pre> | ||
+ | {{str ≥ len | ||
+ | | 1 = Строка длиной 0-500 символов. | ||
+ | | 2 = Целое число от 0 до 500 | ||
+ | | 3 = Данные, которые будут возвращены, если длина строки не меньше, чем число. | ||
+ | | 4 = Данные, возвращаемые в обратном случае. | ||
+ | }} | ||
+ | </pre> | ||
+ | |||
+ | Пустые или неопределённые строки считаются имеющими нулевую длину. Строки длинее 500 символов не обрезаются до 500. | ||
+ | |||
+ | Значения длин меньше 0 считаются равными нулю, больше 500 считаются равными 500. Поэтому строки длиной 500 символов и более всегда вызывают возврат 3-го параметра, независимо от их реальной длины и значения параметра 2. | ||
+ | <!-- | ||
+ | === Технические детали === | ||
+ | |||
+ | This template would be equivalent to templates named <nowiki>{{str >= len}} or {{str < len}}</nowiki>, but we can't use those template names since they don't work in MediaWiki. | ||
+ | |||
+ | Even though this is a string handling template it uses very efficient code. (While some of the other string handling templates are probably so heavy on the servers that we perhaps should not use them.) | ||
+ | |||
+ | [[Help:Template|Templates]] have problems to handle parameter data that contains pipes "<code>|</code>", unless the pipe is inside another template <code><nowiki>{{name|param1}}</nowiki></code> or inside a piped link <code><nowiki>[[Help:Template|help]]</nowiki></code>. Thus templates can not handle [[Help:Table|wikitables]] as input unless you escape them by using the {{tn|!}} template. This makes it hard to use wikitables as parameters to templates. Instead the usual solution is to use "[[Help:HTML in wikitext|HTML wikimarkup]]" for the table code, which is more robust. | ||
+ | --><noinclude> | ||
+ | [[Категория:Шаблоны:Документация|{{PAGENAME}}]] | ||
+ | </noinclude><includeonly> | ||
+ | <!-- CATEGORIES AND INTERWIKIS HERE, THANKS --> | ||
+ | <!-- КАТЕГОРИИ И ИНТЕРВИКИ СЮДА, СПАСИБО --> | ||
+ | </includeonly> |
Текущая версия на 15:29, 5 июня 2011
Шаблон:Str ≥ len · Документация · Обсуждение · Где используется (Использование шаблона параметры)
[править] Использование
Имеет от 3 до 4 неименованных параметров. Возвращает значение 3-го параметра в случае, когда длина 1-го параметра-строки больше или равна значению 2-го параметра; в противном случае возвращает значение 4-го параметра или пустую строку, если его нет.
Здесь шаблон проверяет, имеет ли строка "abcde" 4 символа или больше:
{{str ≥ len | abcde | 4 | равно или больше. | меньше. }}
Возвращает следующее значение:
- равно или больше.
Проблемы могут возникнуть, если использовать параметры, содержащие знак равенства "=
". Однако эта проблема легко решается использованием нумерованных параметров. Например, проверим, содержит ли строка "ab=cde" не менее 100 символов:
{{str ≥ len | 1 = ab=cde | 2 = 100 | 3 = Equal "=" or longer. | 4 = Shorter, not "=". }}
Этот шаблон возвращает следующее значение:
- Shorter, not "=".
Желательно всегда использовать нумерованные параметры, поскольку заранее неизвестно, какие значения параметров будут подставлены в шаблон.
[править] Параметры
Детальное описание параметров:
{{str ≥ len | 1 = Строка длиной 0-500 символов. | 2 = Целое число от 0 до 500 | 3 = Данные, которые будут возвращены, если длина строки не меньше, чем число. | 4 = Данные, возвращаемые в обратном случае. }}
Пустые или неопределённые строки считаются имеющими нулевую длину. Строки длинее 500 символов не обрезаются до 500.
Значения длин меньше 0 считаются равными нулю, больше 500 считаются равными 500. Поэтому строки длиной 500 символов и более всегда вызывают возврат 3-го параметра, независимо от их реальной длины и значения параметра 2.