Modul:Hilfsfunktionen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
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