Шаблон:Str ≥ len/doc — различия между версиями

Материал из SRNS
Перейти к: навигация, поиск
(Новая страница: «<includeonly>{{#ifeq: x{{#if:x|{{{1|}}}}} | x{{padleft:{{{1|}}}| {{{2|}}} }} <!-- str >= len --> | {{{3|}}} | {{{4|}}} }}</includeonly><noinclude> {{doc}} <!-- Add...»)
 
 
Строка 1: Строка 1:
<includeonly>{{#ifeq: x{{#if:x|{{{1|}}}}} | x{{padleft:{{{1|}}}| {{{2|}}} }}  <!-- str >= len -->
+
<noinclude>{{docpage}}</noinclude>
| {{{3|}}}
+
=== Использование ===
| {{{4|}}}
+
}}</includeonly><noinclude>
+
{{doc}}
+
<!-- Add categories and interwikis to the /doc subpage, not here! -->
+
[[Категория:SRNS:Заимствованные шаблоны|{{PAGENAME}}]]
+
[[Категория:Шаблоны:Работа со строками|Str ≥ len]]
+
  
</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

[править] Использование

Имеет от 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.

Персональные инструменты
Пространства имён

Варианты
Действия
SRNS Wiki
Рабочие журналы
Приватный файлсервер
QNAP Сервер
Инструменты