Difference between revisions of "Module:Separated entries"

From annadreambrush.com/wiki
Jump to navigation Jump to search
imported>Izkala
(Reverted to revision 656969384 by Alakzi (talk): Restore original. (TW))
imported>Izkala
(Discard named parameters more robustly; accidental global)
Line 1: Line 1:
 
local getArgs = require('Module:Arguments').getArgs
 
local getArgs = require('Module:Arguments').getArgs
 +
local compressSparseArray = require('Module:TableTools').compressSparseArray
 
local p = {}
 
local p = {}
 
   
 
   
Line 10: Line 11:
 
end
 
end
 
   
 
   
function p._main(origArgs)
+
function p._main(args)
local separator = origArgs.separator or ''
+
local separator = args.separator or ''
local conjunction = origArgs.conjunction or separator
+
local conjunction = args.conjunction or separator
 +
-- Discard named parameters.
 +
local values = compressSparseArray(args)
  
args = {}
+
return mw.text.listToText(values, separator, conjunction)
for k, v in pairs(origArgs) do
 
-- Discard named parameters.
 
if type(k) == 'number' then
 
table.insert(args, v)
 
end
 
end
 
return mw.text.listToText(args, separator, conjunction)
 
 
end
 
end
 
   
 
   
 
return p
 
return p

Revision as of 02:30, 4 May 2015

Usage

Module:Separated entries serves as a template front-end to mw.text.listToText. It takes any number of positional parameters and pieces them together with |separator=. |conjunction= can be optionally defined if a different separator is desired between the last and second last items. The starting positional parameter can be specified using |start=. Leading and trailing whitespace is stripped; if the |separator= should contain spaces, use the HTML escape code  . Separated entries does not raise any errors by design.

{{#invoke:Separated entries|main|separator=...}}



local getArgs = require('Module:Arguments').getArgs
local compressSparseArray = require('Module:TableTools').compressSparseArray
local p = {}
 
function p.main(frame)
	local args = getArgs(frame, {
		trim = true,
		removeBlanks = true
	})
	return p._main(args)
end
 
function p._main(args)
	local separator = args.separator or ''
	local conjunction = args.conjunction or separator
	-- Discard named parameters.
	local values = compressSparseArray(args)

	return mw.text.listToText(values, separator, conjunction)
end
 
return p