Module:Pn: Difference between revisions

From 1F616EMO Survival Server Wiki
m (Protected "Module:Pn": High-risk template or module: 259 transclusions (more info) ([Edit=Require autoconfirmed or confirmed access] (indefinite)))
 
m (1 revision imported)
 
(No difference)

Latest revision as of 12:20, 28 July 2024

--[[
Module that returns one value from a list of unnamed parameters
Named parameter idx is the index of the parameter that is to be returned
Negative indices count backward from the end of the list
==]]

local p = {}

p.getVal = function(frame)
	local args = {}
	-- copy arguments from frame object and its parent
	for k, v in pairs(frame.args) do
		args[k] = v
	end
	for k, v in pairs(frame:getParent().args) do
		args[k] = v
	end
	if not args[1] then
		return nil
	end
	local idx = tonumber(args.idx) or 1
	if idx < 0 then idx = #args + idx + 1 end
	return args[idx]
end

return p