<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FWnt%2FDisplayLuaTableContents</id>
	<title>Module:Sandbox/Wnt/DisplayLuaTableContents - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FWnt%2FDisplayLuaTableContents"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Wnt/DisplayLuaTableContents&amp;action=history"/>
	<updated>2026-04-18T02:08:42Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Sandbox/Wnt/DisplayLuaTableContents&amp;diff=146404&amp;oldid=prev</id>
		<title>imported&gt;Wnt: Wnt moved page Module:DisplayLuaTableContents to Module:Sandbox/Wnt/DisplayLuaTableContents without leaving a redirect: per https://en.wikipedia.org/wiki/Wikipedia:Templates_for_discussion/Log/2018_May_6 this is duplicated and not actively used</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Wnt/DisplayLuaTableContents&amp;diff=146404&amp;oldid=prev"/>
		<updated>2018-05-07T02:26:53Z</updated>

		<summary type="html">&lt;p&gt;Wnt moved page &lt;a href=&quot;/index.php?title=Module:DisplayLuaTableContents&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Module:DisplayLuaTableContents (page does not exist)&quot;&gt;Module:DisplayLuaTableContents&lt;/a&gt; to &lt;a href=&quot;/research/Module:Sandbox/Wnt/DisplayLuaTableContents&quot; title=&quot;Module:Sandbox/Wnt/DisplayLuaTableContents&quot;&gt;Module:Sandbox/Wnt/DisplayLuaTableContents&lt;/a&gt; without leaving a redirect: per https://en.wikipedia.org/wiki/Wikipedia:Templates_for_discussion/Log/2018_May_6 this is duplicated and not actively used&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p={}&lt;br /&gt;
local debuglog = &amp;quot;&amp;quot;&lt;br /&gt;
function p.flat(t)&lt;br /&gt;
	local todo = {t}&lt;br /&gt;
	local pointer = 1&lt;br /&gt;
	local flat = {}&lt;br /&gt;
	local marked = {}&lt;br /&gt;
	marked[t] = true&lt;br /&gt;
    while todo[pointer] do&lt;br /&gt;
		for i, j in pairs(todo[pointer]) do&lt;br /&gt;
		    if ((type(j) == table) and (not marked[j])) then&lt;br /&gt;
		    	debuglog = debuglog .. &amp;quot;marking&amp;quot; .. tostring(j)&lt;br /&gt;
		    	marked[j] = true&lt;br /&gt;
		    	table.insert(todo, j)&lt;br /&gt;
		    end&lt;br /&gt;
		    if (not flat[i]) then&lt;br /&gt;
		    	debuglog = debuglog .. &amp;quot;new item&amp;quot; .. tostring(i)&lt;br /&gt;
	            flat[i] = {j = true}&lt;br /&gt;
	        else&lt;br /&gt;
	            if (not flat[i][j]) then&lt;br /&gt;
	            	flat[i][j] = true&lt;br /&gt;
	            end&lt;br /&gt;
	        end&lt;br /&gt;
	    end&lt;br /&gt;
	    pointer = pointer + 1&lt;br /&gt;
    end&lt;br /&gt;
    debuglog = debuglog .. tostring(#flat)&lt;br /&gt;
    return flat&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.tostring(t, delimiter)&lt;br /&gt;
	if not delimiter then delimiter = &amp;quot;&amp;quot; end&lt;br /&gt;
	local flat = p.flat(t)&lt;br /&gt;
	local outarray = {}&lt;br /&gt;
	for i, j in pairs(flat) do&lt;br /&gt;
		debuglog = debuglog .. tostring(i) .. tostring(j)&lt;br /&gt;
		local kk = {}&lt;br /&gt;
		for k in pairs(j) do&lt;br /&gt;
			table.insert(kk, k)&lt;br /&gt;
		end&lt;br /&gt;
	    table.insert(outarray, table.concat(kk, delimiter))&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(outarray, delimiter)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.demo(frame)&lt;br /&gt;
	local a = {j=1, 2, 3}&lt;br /&gt;
	table.insert(a,a)&lt;br /&gt;
	-- a[a] = a -- (this may be just too crazy; getting &amp;quot;attempt to call a table value&amp;quot;)&lt;br /&gt;
	return p.tostring(a)..debuglog&lt;br /&gt;
end&lt;br /&gt;
	&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
   local args=frame.args&lt;br /&gt;
   local pargs=frame.getParent(frame)&lt;br /&gt;
   local dispvar=&amp;quot;mw&amp;quot;&lt;br /&gt;
   if pargs then dispvar=pargs.dispvar or pargs[1] or dispvar end&lt;br /&gt;
   if args then dispvar=args.dispvar or args[1] or dispvar end&lt;br /&gt;
   local base=_G[dispvar]&lt;br /&gt;
   local novar, containssomething&lt;br /&gt;
   if base then else base={};novar=yes end&lt;br /&gt;
   local output=&amp;quot;&amp;#039;&amp;#039;Contents of the array &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;quot; .. tostring(dispvar) .. &amp;quot;&amp;#039;&amp;#039;&amp;#039;:&amp;quot;&lt;br /&gt;
   if novar then output = output .. &amp;quot;&amp;lt;u&amp;gt;nil&amp;lt;/u&amp;gt;.&amp;quot; end&lt;br /&gt;
   local ns=0&lt;br /&gt;
   local count=0&lt;br /&gt;
   for i,j in pairs(base) do&lt;br /&gt;
      containssomething=&amp;quot;yes&amp;quot;&lt;br /&gt;
      output=output .. &amp;quot;&amp;lt;br /&amp;gt;mw.&amp;quot; .. tostring (i) .. &amp;quot;:&amp;quot; .. tostring(j)&lt;br /&gt;
      if tostring(j)~= &amp;quot;table&amp;quot; then j={} end&lt;br /&gt;
   for a,b in pairs(j) do&lt;br /&gt;
      output=output .. &amp;quot;&amp;lt;br /&amp;gt;mw.&amp;quot; .. tostring(i) .. &amp;quot;.&amp;quot; .. tostring(a) .. &amp;quot;:&amp;quot; .. tostring(b)&lt;br /&gt;
      if tostring(b)~=&amp;quot;table&amp;quot; then b={} end&lt;br /&gt;
   for x,y in pairs(b) do&lt;br /&gt;
      output=output .. &amp;quot;&amp;lt;br /&amp;gt;mw.&amp;quot; .. tostring(i) .. &amp;quot;.&amp;quot; .. tostring(a) .. &amp;quot;.&amp;quot; .. tostring(x) .. &amp;quot;:&amp;quot; .. tostring(y)&lt;br /&gt;
      if tostring(y)~=&amp;quot;table&amp;quot; then y={} end&lt;br /&gt;
      for w,z in pairs(y) do&lt;br /&gt;
          output=output ..  &amp;quot;&amp;lt;br /&amp;gt;--&amp;gt;&amp;quot; .. tostring(w) .. &amp;quot;:&amp;quot; .. tostring(z)&lt;br /&gt;
             if tostring(z)~=&amp;quot;table&amp;quot; then z={} end&lt;br /&gt;
             for u,v in pairs(z) do&lt;br /&gt;
                output=output .. &amp;quot;&amp;lt;br /&amp;gt;-----&amp;gt;&amp;quot; .. tostring(u) .. &amp;quot;:&amp;quot; .. tostring(v)&lt;br /&gt;
             end&lt;br /&gt;
      end&lt;br /&gt;
   end&lt;br /&gt;
   end&lt;br /&gt;
   end&lt;br /&gt;
   --local getc=mw.title.getcontent&lt;br /&gt;
   --output=output .. &amp;quot;&amp;lt;br /&amp;gt;P.S.: mw.title.getcontent is:&amp;quot; .. tostring(getc)&lt;br /&gt;
   --if tostring(getc) == &amp;quot;function&amp;quot; then output = output .. &amp;quot;&amp;lt;br /&amp;gt;&amp;quot; .. tostring (getc(mw.title)) end&lt;br /&gt;
   if containssomething then else output = output .. &amp;quot;&amp;lt;br /&amp;gt;&amp;#039;&amp;#039;No pairs(&amp;quot; .. tostring(dispvar) .. &amp;quot;) found!&amp;#039;&amp;#039;&amp;quot; end&lt;br /&gt;
   return output&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Wnt</name></author>
	</entry>
</feed>