Module:Yesno: Difference between revisions
Jump to navigation
Jump to search
en>Mr. Stradivarius (use the Lua string.lower function instead of mw.ustring.lower; this makes the function around 25x faster) |
(Created page with "return function (val, default) 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...") |
||
Line 1: | Line 1: | ||
return function (val, default) | return function (val, default) | ||
val = type(val) == 'string' and val:lower() or val | val = type(val) == 'string' and val:lower() or val | ||
if val == nil then | if val == nil then | ||
Line 14: | Line 8: | ||
or val == 'true' | or val == 'true' | ||
or tonumber(val) == 1 | or tonumber(val) == 1 | ||
then | |||
return true | return true | ||
elseif val == false | elseif val == false | ||
Line 21: | Line 15: | ||
or val == 'false' | or val == 'false' | ||
or tonumber(val) == 0 | or tonumber(val) == 0 | ||
then | |||
return false | return false | ||
else | else |
Revision as of 01:40, 27 July 2014
This is a meta module.
This module is meant to be used only by other modules. It should not be invoked in wikitext.
This module was adapted from Module:Yesno on Wikipedia.
Adaptation is noted for reference and attribution only. This module may differ from the original in function or in usage. The documentation on Wikipedia may be helpful in understanding this module.
Adaptation is noted for reference and attribution only. This module may differ from the original in function or in usage. The documentation on Wikipedia may be helpful in understanding this module.
The above documentation is transcluded from Module:Yesno/doc.
Editors can experiment in this module's sandbox and testcases pages.
Subpages of this module.
Editors can experiment in this module's sandbox and testcases pages.
Subpages of this module.
return function (val, default)
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 tonumber(val) == 1
then
return true
elseif val == false
or val == 'no'
or val == 'n'
or val == 'false'
or tonumber(val) == 0
then
return false
else
return default
end
end