Semantic MediaWikiDit bericht verdwijnt nadat alle relevante taken zijn afgerond.

Er is één onvoltooide of openstaande taak, die nodig is om het bijwerken van Semantic MediaWiki te voltooien. Een beheerder of gebruiker met voldoende rechten kan deze uitvoeren. Dit moet worden gedaan voordat nieuwe gegevens worden toegevoegd om tegenstrijdigheden te voorkomen.

Nieuwe pagina aangemaakt met '--[[ {{#invoke:Arraymap |vals= |sep= |varstr= |map= |outputsep= ]]-- local p = {} p.map = function(frame) local vals = frame.args.vals or mw.text.trim(frame.args...'
 
Geen bewerkingssamenvatting
Regel 13: Regel 13:
local vals = frame.args.vals or mw.text.trim(frame.args[1]) or ""
local vals = frame.args.vals or mw.text.trim(frame.args[1]) or ""
local sep = frame.args.sep or mw.text.trim(frame.args[2]) or ","
local sep = frame.args.sep or mw.text.trim(frame.args[2]) or ","
local valTable = {}
--local valTable = {}
for val in string.gmatch( vals, sep ) do
-- for val in string.gmatch( vals, sep ) do
table.insert( valTable, val)
-- table.insert( valTable, val)
end
-- end
local varstr = frame.args.varstr or mw.text.trim(frame.args[3]) or "@@@"
local varstr = frame.args.varstr or mw.text.trim(frame.args[3]) or "@@@"
local map = frame.args.map or mw.text.trim(frame.args[4]) or ""
local map = frame.args.map or mw.text.trim(frame.args[4]) or ""
local outputsep = frame.args.outputsep or mw.text.trim(frame.args[5]) or ""
local outputsep = frame.args.outputsep or mw.text.trim(frame.args[5]) or ""
local valTable = {}
for val in string.gmatch( vals, sep ) do
local newVal = map.gsub( varstr, val )
-- replace varstr in map with val
table.insert( valTable, newVal)
end
end
end

Versie van 5 sep 2023 17:46

Module:Arraymap

Summary
Module similar in functionality to PageForms's arraymap.


==Simple==
{{#invoke:Arraymap |map 
|vals=Álvar,Núñez ,, Cabeza,de Vaca,,|sep=,,
|varstr=xxx |map=(xxx) |outputsep=;\s
}}

Scriptfout: de module heeft de waarde nil teruggegeven. Dit moet een exporttabel zijn.

Or, using unnamed, sequential approach:

{{#invoke:Arraymap |map |Álvar,Núñez ,, Cabeza, de Vaca,, |, |xxx |[xxx] |;\s}}

Scriptfout: de module heeft de waarde nil teruggegeven. Dit moet een exporttabel zijn.

Special use cases

If sep needs to be a space, use %s?

Escaped syntax for curly braces and pipes

Escape {{... }} as %{%{ ...  %}%}
Escape | as %

{{#invoke:Arraymap |map
|vals=Persoon/-1002367743,Persoon/400
|sep=,
|varstr=xxx
|map=%{%{#ask: [[xxx]] %mainlabel=- %?Has name= %}%} 
|outputsep=;\s
|escaped=true
|fuzzy=false
}}
Scriptfout: de module heeft de waarde nil teruggegeven. Dit moet een exporttabel zijn.

--[[
{{#invoke:Arraymap
|vals=
|sep=
|varstr=
|map=
|outputsep=
]]--

local p = {}

p.map = function(frame)
	local vals = frame.args.vals or mw.text.trim(frame.args[1]) or ""
	local sep = frame.args.sep or mw.text.trim(frame.args[2]) or ","
	--local valTable = {}
	-- for val in string.gmatch( vals, sep ) do
	--	table.insert( valTable, val)
	-- end
	local varstr = frame.args.varstr or mw.text.trim(frame.args[3]) or "@@@"
	local map = frame.args.map or mw.text.trim(frame.args[4]) or ""
	local outputsep = frame.args.outputsep or mw.text.trim(frame.args[5]) or ""
	
	local valTable = {}
	for val in string.gmatch( vals, sep ) do
		local newVal = map.gsub( varstr, val )
		-- replace varstr in map with val
		table.insert( valTable, newVal)
	end

end