Navigation menu

Module:Yesno: Difference between revisions

From The Kodiak Republic Wiki

tweak logic to make it work like the actual template - the documentation was slightly wrong
(get arguments from the parent frame if the current frame doesn't have any)
(tweak logic to make it work like the actual template - the documentation was slightly wrong)
Line 1:
local p = {}
 
function p.yesno(frame)
 
-- defaults
local retvals = {
Line 9:
["¬"] = ""
}
 
-- Allow arguments to override defaults.
-- 'any' tracks the presence of any arguments at all.
Line 27:
end
end
 
val = args[1]
 
-- AccordingFirst todeal with the templatecase docs,if theval inputis shouldnil, bethen considereddeal nilwith other cases.
if (val == nil and not any) or val == '¬' then
-- only when no params were provided. If any params at all were present,
-- the value must be considered blank. A bit weird, if you ask me.
if (val == nil and not any) or val == '¬' then
return retvals['¬']
end
 
val = (val or ''):lower() -- Coerce to blank if nil; make lowercase.
val = val:match'^%s*(.*%S)' or '' -- Trim whitespace.
 
if val == '' then
return retvals['blank'] ~= nil and retvals['blank'] or retvals['no']
elseif val == 'n' or val == 'no' or val == '0' then
return retvals['no']
Line 50 ⟶ 48:
end
end
 
return p
Cookies help us deliver our services. By using our services, you agree to our use of cookies.