Module:Tmpl: Difference between revisions
Jump to navigation
Jump to search
Mediawiki>ExE Boss Prevent exponential expansion by performing all replacements during a single pass; goes from O(2ⁿ) to O(n) |
Richardpruen (talk | contribs) m 1 revision imported |
||
Line 1: | Line 1: | ||
-- This is a helper module for | -- This is a helper module for Template:tmpl | ||
local this = {} | local this = {} | ||
function this.renderTmpl(frame) | function this.renderTmpl(frame) | ||
local args = frame.args | |||
local pargs = (frame:getParent() or {}).args | |||
local result = pargs[0] or '' | |||
for k, v in pairs(pargs) do | |||
local n = tonumber(k) or -1 | |||
if (n >= 1 and n <= 9) then | |||
result = mw.ustring.gsub( result, '$' .. n, mw.text.trim(v) ) | |||
end | |||
end | |||
return result | |||
end | end | ||
return this | return this |
Revision as of 13:11, 23 November 2021
Documentation for this module may be created at Module:Tmpl/doc
-- This is a helper module for Template:tmpl
local this = {}
function this.renderTmpl(frame)
local args = frame.args
local pargs = (frame:getParent() or {}).args
local result = pargs[0] or ''
for k, v in pairs(pargs) do
local n = tonumber(k) or -1
if (n >= 1 and n <= 9) then
result = mw.ustring.gsub( result, '$' .. n, mw.text.trim(v) )
end
end
return result
end
return this