Ace Attorney Wiki
Advertisement

Lua functions that generate the equivalent of "iterator objects" to help automate putting parameters into a template call in some cases.

Range

Generates a list of numbers from a starting point to an ending point to feed into a template. Meant to imitate range() in Python.

Usage

{{#invoke:iterator|range|example|end=6}} is the same as {{example|1|2|3|4|5|6}}.


local p = {}

function p.range(frame)
	-- Generates a list of numbers from a starting point to an ending point to feed into a template.
	-- e.g. {{#invoke:iterator|range|example|end=6}} is the same as {{example|1|2|3|4|5|6}}
	local iterArgs = frame:getParent().args

	local tname = iterArgs["tname"]
	local start = iterArgs["start"] or 1
	local finish = iterArgs["end"] or 1
	local skip = iterArgs["skip"] or 0

	local params = {}
	for i = 1 + skip, finish - start + 1 + skip do
		params[i] = i + start - 1 - skip
	end
	for k,v in pairs(iterArgs) do
		params[k] = v
	end

	return frame:expandTemplate{title = tname, args = params}
end

return p

--[[Category:Modules]]
Advertisement