Module:Arguments

--	Dieser Modul ist zum Einbinden gedacht und soll die Verwendung von Unterprozeduren vereinheitlichen.	Einbindung: local t = require('Module:Arguments')

local p = { }

function p.tidy( val) -- return false when emptiy: '' ist nicht false! if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return false else return val end else return val end end

function p.checkemptystring(val) if type(val) == 'string' then if val:find('%S') then return val else return false end else return val end end

function p.matchesTitle(given, title) local tp = type( given ) return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title end

function p.trim(s) -- entfernt Weißraum an den beiden Enden des Strings if type(s) ~= 'string' then return s end -- falls kein string return s:match("^%s*(.-)%s*$") end

function p.empty (x) --	es gibt keine eingebaute Funktion, um zu überprüfen, ob eine Tabelle leer ist	diese Funktion liefert true, wenn die Tabelle leer ist	hilfreich bei frame.args oder frame:parent.args etc.

for _, _ in pairs(x) do       return false end return true end

function p.gibts(name, namespace) -- liefert true, wenn die Wikiseite "name" im namespace "namespace" existiert -- default namespace ist main local name = name local space = namespace or '' if space ~= '' then space = space .. ':' end local titel = mw.title.new(space .. name)

if titel.exists then return titel end return false end

function p.round(x, m)	local n = m	if not type(x) == 'number' then return false end if not type(n) == 'number' then n = 0 end n = math.pow(10, n or 0) x = x * n   if x >= 0 then x = math.floor(x + 0.5) else x = math.ceil(x - 0.5) end return x / n end

return p