Modul:Spielwiese

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 29. November 2014 um 17:36 Uhr durch Mfb (Diskussion | Beiträge) (Sortier-Test). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen

Hier können kurzzeitige Code-Tests oder sonstige Spielereien durchgeführt werden.

Zu weitergehenden und dauerhaften Tests siehe Hilfe:Lua #Erprobung.


local p = {}

function p.svg(frame)
	local width = frame.args[1] or 100
	local height = frame.args[2] or width
	return '<svg height="' .. height .. '" width="' .. width .. '"><circle cx="' .. width / 2 .. '" cy="' .. height / 2 .. '" r="' .. (math.min(height, width) / 2 - 10) .. '" stroke="black" stroke-width="3" fill="red" /></svg>'
end

function p.ref(frame)
	return "Hallo Welt" .. frame:extensionTag("ref", "{{Internetquelle|url=http://www.example.com/|titel=example|sprache=en|zugriff=2014-11-03}}")
end

function p.debug(frame)
	local func = frame.args[1]
	if func then
		local newargs = {}
		for key, val in pairs(frame.args) do
			if type(key) == "number" then
				if key > 1 then newargs[key - 1] = val end
			else
				newargs[key] = val
			end
		end
		frame.args = newargs
		local status, result = pcall(p[func], frame)
		if status then return result else return '<span class="error">' .. result .. '</span>' end
	else
		return '<span class="error">invalid parameters</span>'
	end
end

function p.dumpContext()
	return mw.dumpObject(_G)
end

function p.byte(frame)
	local position = tonumber(frame.args[2])                 -- das zweite Argument gibt die Postion des gefragten Bytes im String an
	if (not position) or position <1 then 	position =1	end  -- Ist die Postition nicht oder ungültig angegeben wird 1 als Postition zurückgegeben
	return mw.ustring.byte(frame.args[1], position )         -- Liefert den Bytecode des Strings an der Stelle 'possition' 
end

function p.sort(frame)
	local result = ''
	mytable = {}
	for name,value in pairs(frame.args) do table.insert(mytable, value) end
	table.sort(mytable)
	for name,value in pairs(mytable) do
		result = result .. value .. '\n\n'
	end
	return result
end

return p