Шаблон: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.