“模块:Yesno”与“模块:Yesno/doc”:页面之间的差异

来自NebulaeWiki
(页面间差异)
(创建页面,内容为“-- Function allowing for consistent treatment of boolean-like wikitext input. -- It works similarly to the template {{yesno}}. return function (val, default) -- 如果你的维基使用非ASCII字符来表示 "是"、"否 "等等 -- 你应该在下面一行用 "mw.ustring.lower(val) "替换 "val:lower()"。 val = type(val) == 'string' and mw.ustring.lower(val) or val if val == nil then return nil elseif val == true or val == '是' or val == 'yes'…”)
 
(创建页面,内容为“{{Documentation}} {{Wikipedia template}} '''Module:Yesno''' provides a consistent interface for processing boolean or boolean-style string input. While Lua allows the <code>true</code> and <code>false</code> boolean values, wikicode templates can only express boolean values through strings such as "yes", "no", etc. This module processes these kinds of strings and turns them into boolean input for Lua to process. It also returns <code>nil</code> values as <code…”)
 
第1行: 第1行:
-- Function allowing for consistent treatment of boolean-like wikitext input.
{{Documentation}}
-- It works similarly to the template {{yesno}}.
{{Wikipedia template}}


return function (val, default)
'''Module:Yesno''' provides a consistent interface for processing boolean or boolean-style string input. While Lua allows the <code>true</code> and <code>false</code> boolean values, wikicode templates can only express boolean values through strings such as "yes", "no", etc. This module processes these kinds of strings and turns them into boolean input for Lua to process. It also returns <code>nil</code> values as <code>nil</code>, to allow for distinctions between <code>nil</code> and <code>false</code>. The module also accepts other Lua structures as input, i.e. booleans, numbers, tables, and functions. If it is passed input that it does not recognise as boolean or <code>nil</code>, it is possible to specify a default value to return.
-- 如果你的维基使用非ASCII字符来表示 """"等等
-- 你应该在下面一行用 "mw.ustring.lower(val) "替换 "val:lower()"。
val = type(val) == 'string' and mw.ustring.lower(val) or val
if val == nil then
return nil
elseif val == true
or val == '是'
or val == 'yes'
or val == 'y'
or val == 'true'
or val == 't'
or tonumber(val) == 1
then
return true
elseif val == false
or val == '否'
or val == 'no'
or val == 'n'
or val == 'false'
or val == 'f'
or tonumber(val) == 0
then
return false
else
return default
end
end

2023年9月18日 (一) 20:48的版本

Module:Yesno provides a consistent interface for processing boolean or boolean-style string input. While Lua allows the true and false boolean values, wikicode templates can only express boolean values through strings such as "yes", "no", etc. This module processes these kinds of strings and turns them into boolean input for Lua to process. It also returns nil values as nil, to allow for distinctions between nil and false. The module also accepts other Lua structures as input, i.e. booleans, numbers, tables, and functions. If it is passed input that it does not recognise as boolean or nil, it is possible to specify a default value to return.