Модуль:Yesno/doc: различия между версиями
(Полностью удалено содержимое страницы) Метка: очистка |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
{{СИШ}} | |||
{{docpage}} | |||
Данный модуль предоставляет единый интерфейс для обработки булевых или булевоподобных входных данных. Lua позволяет использовать логические значения {{luatrue}} и {{luafalse}}, в то время как шаблоны, написанные с помощью вики-разметки, часто используют обозначения, подобные «yes» и «no». Модуль преобразует подобные строки и выдаёт булевскую величину, пригодную для использования в Lua. Кроме того, возможно возвращаемое значение {{luanil}}. В качестве входных данных могут использоваться другие структуры Lua, в том числе булевы переменные, числа, таблицы и функции. Кроме того, можно задать возвращаемое значение по умолчанию. | |||
== Синтаксис == | |||
{{LuaCode|yesno(value, default)}} | |||
<code>value</code> — проверяемая величина. Булевские и им подобные входные данные всегда приводят к {{luatrue}} или {{luafalse}}, {{luanil}} возвращает {{luanil}}. Остальным случаям соответствует <code>default</code>. | |||
== Использование == | |||
Для начала, загрузите модуль. Обратите внимание, что это можно сделать только из других модулей. | |||
<syntaxhighlight lang="lua"> | |||
local yesno = require('Module:Yesno') | |||
</syntaxhighlight> | |||
Некоторые значения всегда возвращают {{luatrue}}, некоторые другие — {{luafalse}}. {{luanil}} всегда возвращает {{luanil}}. | |||
{{LuaCode| | |||
-- Всегда возвращают true: | |||
yesno('yes') | |||
yesno('y') | |||
yesno('true') | |||
yesno('t') | |||
yesno('да') | |||
yesno('д') | |||
yesno('+') | |||
yesno('1') | |||
yesno(1) | |||
yesno(true) | |||
-- Всегда возвращают false: | |||
yesno('no') | |||
yesno('n') | |||
yesno('false') | |||
yesno('f') | |||
yesno('нет') | |||
yesno('н') | |||
yesno('-') | |||
yesno('0') | |||
yesno(0) | |||
yesno(false) | |||
-- nil всегда возвращает nil: | |||
yesno(nil) | |||
}} | |||
Строковые значения предварительно преобразуются к нижнему регистру: | |||
{{LuaCode| | |||
-- Всегда возвращают true: | |||
yesno('Yes') | |||
yesno('YES') | |||
yesno('yEs') | |||
yesno('Y') | |||
yesno('tRuE') | |||
-- Всегда возвращают false: | |||
yesno('No') | |||
yesno('NO') | |||
yesno('nO') | |||
yesno('N') | |||
yesno('fALsE') | |||
}} | |||
Если yesno принимает аргумент, отличный от перечисленных выше, вы можете задать значение по умолчанию. Если оно не задано, для них будет возвращаться {{luanil}}. | |||
{{LuaCode| | |||
-- возвращают nil: | |||
yesno('foo') | |||
yesno({}) | |||
yesno(5) | |||
yesno(function() return 'This is a function.' end) | |||
-- возвращают true: | |||
yesno('foo', true) | |||
yesno({}, true) | |||
yesno(5, true) | |||
yesno(function() return 'This is a function.' end, true) | |||
-- возвращают "bar": | |||
yesno('foo', 'bar') | |||
yesno({}, 'bar') | |||
yesno(5, 'bar') | |||
yesno(function() return 'This is a function.' end, 'bar') | |||
}} | |||
Обратите внимание на поведение при передаче пустой строки: | |||
{{LuaCode| | |||
yesno('') -- Returns nil. | |||
yesno('', true) -- Returns true. | |||
yesno('', 'bar') -- Returns "bar". | |||
}} | |||
Хотя пустая строка в викитексте соответствует {{luafalse}}, Lua ставит ей в соответствие {{luatrue}}. Так же поступает и модуль. Поэтому для избежания подобных ошибок пустые строки должны отсеиваться до применения данного модуля. | |||
== См. также == | |||
* [[Шаблон:Yesno]] — шаблон с аналогичным функционалом, применяемый в других шаблонах, а не модулях; использует напрямую {{mwmw|#switch}} | |||
<includeonly>[[Категория:Модули:Базовые]]</includeonly> |
Текущая версия от 16:58, 11 июня 2023
Внимание! Это один из самых используемых модулей. |
Данный модуль предоставляет единый интерфейс для обработки булевых или булевоподобных входных данных. Lua позволяет использовать логические значения КатегорияШаблоны:Языки программирования и , в то время как шаблоны, написанные с помощью вики-разметки, часто используют обозначения, подобные «yes» и «no». Модуль преобразует подобные строки и выдаёт булевскую величину, пригодную для использования в Lua. Кроме того, возможно возвращаемое значение КатегорияШаблоны:Языки программирования. В качестве входных данных могут использоваться другие структуры Lua, в том числе булевы переменные, числа, таблицы и функции. Кроме того, можно задать возвращаемое значение по умолчанию.
Синтаксис[править]
КатегорияШаблоны:Языки программирования
value
— проверяемая величина. Булевские и им подобные входные данные всегда приводят к
КатегорияШаблоны:Языки программирования или
,
КатегорияШаблоны:Языки программирования возвращает
КатегорияШаблоны:Языки программирования. Остальным случаям соответствует default
.
Использование[править]
Для начала, загрузите модуль. Обратите внимание, что это можно сделать только из других модулей.
local yesno = require('Module:Yesno')
Некоторые значения всегда возвращают КатегорияШаблоны:Языки программирования, некоторые другие — . КатегорияШаблоны:Языки программирования всегда возвращает КатегорияШаблоны:Языки программирования. КатегорияШаблоны:Языки программирования
Строковые значения предварительно преобразуются к нижнему регистру: КатегорияШаблоны:Языки программирования
Если yesno принимает аргумент, отличный от перечисленных выше, вы можете задать значение по умолчанию. Если оно не задано, для них будет возвращаться КатегорияШаблоны:Языки программирования. КатегорияШаблоны:Языки программирования
Обратите внимание на поведение при передаче пустой строки: КатегорияШаблоны:Языки программирования
Хотя пустая строка в викитексте соответствует , Lua ставит ей в соответствие КатегорияШаблоны:Языки программирования. Так же поступает и модуль. Поэтому для избежания подобных ошибок пустые строки должны отсеиваться до применения данного модуля.
См. также[править]
- Шаблон:Yesno — шаблон с аналогичным функционалом, применяемый в других шаблонах, а не модулях; использует напрямую {{#switch}}