(创建页面,内容为“-- 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'…”) |
小 (已保护“模块:Yesno”([编辑=仅允许管理员](无限期)[移动=仅允许管理员](无限期))) |
2023年9月23日 (六) 22:31的最新版本
This documentation is transcluded from 模块:Yesno/doc. Changes can be proposed in the talk page.
This template is imported from 模块:Yesno on Wikipedia.
This template is imported from the English Wikipedia. Although the visual appearance might be different, the functionality is identical. Please refer to the 模块:Yesno page on Wikipedia for detailed documentation.
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.
-- 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' 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