Module:ArgumentPairs demo
Jump to navigation
Jump to search
This module shows the sorted name-value combinations from parameter definitions like in a template call.
Example (the f is not part of the parameter definitions):
{{#invoke:ArgumentPairs demo|f|hi=c|g|e=y|d|h=i}}
gives:
name | value |
---|---|
1 | g |
2 | d |
e | y |
h | i |
hi | c |
Assignments are done from left to right, in the case of multiple assignments to the same parameter (named or unnamed) the last one counts:
{{#invoke:ArgumentPairs demo|f|1=q|hi=c|g|e=y|d|h=i|e=k|2=p}}
gives:
name | value |
---|---|
1 | g |
2 | p |
e | k |
h | i |
hi | c |
Types
Types of the results of "for n,v in frame:argumentPairs() do" inside the lua program:
- n is of type number if it is implicitly given, or if the supplied wikitext for it represents an integer value, otherwise string
- v is of type string
local p = {} function comp(x,y) return tostring(x[1])<tostring(y[1]) end function p.f(frame) local t={} for n,v in frame:argumentPairs() do table.insert (t,{n,v}) end table.sort (t,comp) r = '{|class="wikitable sortable"\n!name!!value\n' for i,nv in ipairs(t) do r = r..'|-\n|'..nv[1]..'||'..nv[2]..'\n' end r=r..'|}' return r end return p