Module:Variable arguments: Difference between revisions

From Xenharmonic Wiki
Jump to navigation Jump to search
ArrowHead294 (talk | contribs)
mNo edit summary
ArrowHead294 (talk | contribs)
mNo edit summary
Line 35: Line 35:
for k, v in pairs(args) do
for k, v in pairs(args) do
out_str = out_str .. "<span style=\"white-space: nowrap;\">" .. string.gsub(v, "^%s*(.-)%s*$", "%1") .. "</span>" .. ", "
out_str = out_str .. "<span style=\"white-space: nowrap;\">" .. string.gsub(v, "^%s*(.-)%s*$", "%1") .. "</span>, "
i = k
i = k
end
end

Revision as of 14:54, 17 October 2024

Module documentation[view] [edit] [history] [purge]
This module should not be invoked directly; use its corresponding templates instead.

This module is used to store functions for templates that take a variable number of arguments but do not use Module:Labelled list hatnote:

Introspection summary for Module:Variable arguments 
Functions provided (2)
Line Function Params
4 modlink (invokable) (frame)
29 nwr (invokable) (frame)
Lua modules required (1)
Variable Module Functions used
mArguments Module:Arguments getArgs

No function descriptions were provided. The Lua code may have further information.


local mArguments = require("Module:Arguments")
local p = {}

function p.modlink(frame)
    local args = mArguments.getArgs(frame, {
    	parentOnly = true
    })
	local out_str = ""
	local i = 0
	
	for k, v in pairs(args) do
		out_str = out_str .. "[[Module:" .. v .. "]]" .. ", "
		i = k
	end
	
	out_str = out_str:sub(1, -3)
	
	if out_str == "" then
		out_str = "[[Module:" .. frame:preprocess("{{ROOTPAGENAME}}") .. "]]"
	end
	
	out_str = out_str 
		.. " &ndash; the "
		.. string.gsub("module that implement", "()", {[((i > 1) and {7} or {22})[1]] = "s"})
		.. " the functionality."
	return out_str
end

function p.nwr(frame)
	local args = mArguments.getArgs(frame, {
    	parentOnly = true
    })
	local out_str = ""
	local i = 0
	
	for k, v in pairs(args) do
		out_str = out_str .. "<span style=\"white-space: nowrap;\">" .. string.gsub(v, "^%s*(.-)%s*$", "%1") .. "</span>, "
		i = k
	end
	
	out_str = out_str:sub(1, -3)
	return out_str
end

return p