Module:For

From talkhaus wiki
Revision as of 05:39, 8 June 2021 by Rixithechao (talk | contribs) (Created page with "local export = {} function export.render(frame) local for_args = frame:getParent().args local tname = for_args.call or "1x" local sep = for_args[1] local pv = for_args.p...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Documentation for this module may be created at Module:For/doc

local export = {}

function export.render(frame)
	local for_args = frame:getParent().args

	local tname = for_args.call or "1x"
	local sep = for_args[1]
	local pv = for_args.pv or "1"
	local prefix = for_args.prefix or ""
	local suffix = for_args.suffix or ""
	local pc = {}

	local output = {}

	local i = 1
	while for_args["pc" .. i .. "n"] do
		local pnam = for_args["pc" .. i .. "n"]
		local pval = for_args["pc" .. i .. "v"]
		pc[pnam] = pval
		i = i + 1
	end

	i = 2
	while for_args[i] do
		local args = mw.clone(pc)
		args[pv] = prefix .. for_args[i] .. suffix

		if output[1] then
			output[#output + 1] = sep
		end
		output[#output + 1] = frame:expandTemplate {
			title = tname,
			args = args
		}
		i = i + 1
	end

	return table.concat(output)
end

return export