Модуль:Yesno: различия между версиями

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