Modul:Hilfsfunktionen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 20: | Zeile 20: | ||
end | end | ||
-- | -- Ausgabe einer belieibig geschachtelten Tabelle oder Variable | ||
function | -- i muss wegen Rekursion auf "" gesetzt werden | ||
function dump(o,i) | |||
if type(o)=='table' then | |||
local tkeys=getSortKeys(o) | |||
local s='\n'..i..'{ ' | |||
for _,k in ipairs(tkeys) do | |||
s=s..'\n'..i..'['..k..']='..dump(o[k],i.." ")..',' | |||
end | end | ||
return s..'\n'..i..'}' | |||
else | |||
return tostring(o) | |||
end | end | ||
end | |||
-- Umwandlung eines Parameters in eine Tabelle, bei nil leer | |||
function noniltable(s) | |||
if s==nil then | |||
return {} | |||
elseif type(s)=="table" then | |||
return s | |||
else | |||
return {s} | |||
end | end | ||
end | end | ||
-- | -- Umwandlung eines Parameters in einen String, bei nil leer | ||
function | function nonilstring(s) | ||
if s==nil then | |||
return "" | |||
else | |||
return s | |||
end | end | ||
end | end | ||
Version vom 29. Dezember 2021, 21:39 Uhr
Dokumentation und Testfälle unter Modul:Hilfsfunktionen/Doku.
-- Macht einen Trim in Kombination mit dem Entfernen der SMW-Tags
function robusttrim(s)
if s==nil then return '' end
local p=mw.ustring.gsub(s,'%[%[SMW::on%]%]','')
p=mw.ustring.gsub(p,'%[%[SMW::off%]%]','')
return mw.text.trim(p)
end
-- Splittet einen String in einen Array anhand eines Separators
function split(inputstr,sep)
if sep==nil then sep="%s" end
local t={}
local i=1
for str in mw.ustring.gmatch(inputstr,"([^"..sep.."]+)") do
t[i]=str
i=i+1
end
if i==1 then t[1]=inputstr end
return t
end
-- Ausgabe einer belieibig geschachtelten Tabelle oder Variable
-- i muss wegen Rekursion auf "" gesetzt werden
function dump(o,i)
if type(o)=='table' then
local tkeys=getSortKeys(o)
local s='\n'..i..'{ '
for _,k in ipairs(tkeys) do
s=s..'\n'..i..'['..k..']='..dump(o[k],i.." ")..','
end
return s..'\n'..i..'}'
else
return tostring(o)
end
end
-- Umwandlung eines Parameters in eine Tabelle, bei nil leer
function noniltable(s)
if s==nil then
return {}
elseif type(s)=="table" then
return s
else
return {s}
end
end
-- Umwandlung eines Parameters in einen String, bei nil leer
function nonilstring(s)
if s==nil then
return ""
else
return s
end
end