Modul:Text: Unterschied zwischen den Versionen
füge neue Funktion listToFormat hinzu
w>PerfektesChaos (2015-06-21) |
w>Yellowcard (füge neue Funktion listToFormat hinzu) |
||
| Zeile 639: | Zeile 639: | ||
end | end | ||
end | end | ||
return result | |||
end | |||
function p.listToFormat(frame) | |||
local lists = {} | |||
local pformat = frame.args["format"] | |||
local sep = frame.args["sep"] or ";" | |||
-- Parameter parsen: Listen | |||
for k, v in pairs(frame.args) do | |||
local knum = tonumber(k) | |||
if knum then lists[knum] = v end | |||
end | |||
-- Listen splitten | |||
local maxListLen = 0 | |||
for i = 1, #lists do | |||
lists[i] = mw.text.split(lists[i], sep) | |||
if #lists[i] > maxListLen then maxListLen = #lists[i] end | |||
end | |||
-- Ergebnisstring generieren | |||
local result = "" | |||
local result_line = "" | |||
for i = 1, maxListLen do | |||
result_line = pformat | |||
for j = 1, #lists do | |||
result_line = mw.ustring.gsub(result_line, "%%s", lists[j][i], 1) | |||
end | |||
result = result .. result_line | |||
end | |||
return result | return result | ||
end | end | ||