Zum Inhalt springen

Modul:Benutzer/Prog/Test

Aus Wikibooks

Informationen zu dieser Dokumentation
Modul Benutzer

Es existiert keine Dokumentation. Wenn du eine anlegen willst, solltest du keine „/Doku“-Unteseite benutzen, sondern LuaDokumentation.


Information


local p = {}

function table_print(tt, indent, done)
    done = done or {}
	indent = indent or 0
	if type(tt) == "table" then
		local sb = {}
		for key, value in pairs(tt) do
			table.insert(sb, string.rep("\t", indent)) -- indent it
			if type(value) == "table" and not done[value] then
				done [value] = true
				table.insert(sb, string.format("%s = {\n", tostring(key)))
				table.insert(sb, table_print(value, indent + 1, done))
				table.insert(sb, string.rep("\t", indent))
				table.insert(sb, "}\n");
			else
				table.insert(sb, string.format("%s = \"%s\"\n", tostring(key), tostring(value)))
			end
		end
		return table.concat(sb)
	else
		return tt .. "\n"
	end
end

function to_string(tbl)
	if type(tbl) == "nil" then
		return tostring(nil)
	elseif type(tbl) == "table" then
		return table_print(tbl)
	elseif type(tbl) == "string" then
		return tbl
	else
		return tostring(tbl)
	end
end

function p.Inhaltsverzeichnis(frame)
	return "== frame ==\n" .. to_string(frame) .. '\n== mw ==\n' ..to_string(mw)
end

return p