Модул:yesno
Зоҳир
Ин модул функсияеро бармегардонад, ки арзишҳои гуногунро ба false
ё true
табдил медиҳад. Он метавонад барои тафсири параметрҳои шаблони мантиқӣ истифода шавад, агар Модул:parameters истифода нашавад.
-- Function allowing for consistent treatment of boolean-like wikitext input.
-- It works similarly to the template {{yesno}}.
local lower = string.lower
local type = type
local yesno = {
[true] = true, [false] = false,
["true"] = true, ["false"] = false,
["t"] = true, ["f"] = false,
[1] = true, [0] = false,
["1"] = true, ["0"] = false,
["yes"] = true, ["no"] = false,
["y"] = true, ["n"] = false,
["on"] = true, ["off"] = false,
}
return function (val, default)
if val == nil then
return nil
end
local ret = yesno[val]
if ret ~= nil then
return ret
elseif type(val) == "string" then
ret = yesno[lower(val)]
if ret ~= nil then
return ret
end
end
return default
end