Модуль:Yesno: различия между версиями
Перейти к навигации
Перейти к поиску
https://belgen.info/wiki>Q-bit array м (Защитил «Шаблон:Yesno»: критический шаблон ([Редактирование=только администраторы] (бессрочно) [Переименование=только администраторы] (бе…) |
(-«x»: решили, что это плохой вариант для true, так как может ассоциироваться как раз с false, при этом, насколько помню, он так нигде и не стал использоваться) |
||
Строка 1: | Строка 1: | ||
{{ | -- Function allowing for consistent treatment of boolean-like wikitext input. | ||
-- It works similarly to the template {{yesno}}. | |||
return function (val, default) | |||
-- If your wiki uses non-ascii characters for any of "yes", "no", etc., you | |||
-- should replace "val:lower()" with "mw.ustring.lower(val)" in the | |||
-- following line. | |||
val = type(val) == 'string' and val:lower() or val | |||
if val == nil then | |||
return nil | |||
elseif val == true | |||
or val == 'yes' | |||
or val == 'y' | |||
or val == 'true' | |||
or val == 't' | |||
or val == 'да' | |||
or val == 'д' | |||
or val == '+' | |||
or tonumber(val) == 1 | |||
then | |||
return true | |||
elseif val == false | |||
or val == 'no' | |||
or val == 'n' | |||
or val == 'false' | |||
or val == 'f' | |||
or val == 'нет' | |||
or val == 'н' | |||
or val == '-' | |||
or tonumber(val) == 0 | |||
then | |||
return false | |||
else | |||
return default | |||
end | |||
end |
Версия от 10:23, 16 июня 2018
Для документации этого модуля может быть создана страница Модуль:Yesno/doc
-- Function allowing for consistent treatment of boolean-like wikitext input. -- It works similarly to the template {{yesno}}. return function (val, default) -- If your wiki uses non-ascii characters for any of "yes", "no", etc., you -- should replace "val:lower()" with "mw.ustring.lower(val)" in the -- following line. val = type(val) == 'string' and val:lower() or val if val == nil then return nil elseif val == true or val == 'yes' or val == 'y' or val == 'true' or val == 't' or val == 'да' or val == 'д' or val == '+' or tonumber(val) == 1 then return true elseif val == false or val == 'no' or val == 'n' or val == 'false' or val == 'f' or val == 'нет' or val == 'н' or val == '-' or tonumber(val) == 0 then return false else return default end end