<?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%2FUsien6</id>
	<title>Module:Sandbox/Usien6 - 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%2FUsien6"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Usien6&amp;action=history"/>
	<updated>2026-05-18T12:05:27Z</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/Usien6&amp;diff=146365&amp;oldid=prev</id>
		<title>imported&gt;Plastikspork: Per TfD outcome</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Usien6&amp;diff=146365&amp;oldid=prev"/>
		<updated>2018-08-23T23:12:43Z</updated>

		<summary type="html">&lt;p&gt;Per TfD outcome&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;
&lt;br /&gt;
p.man = function( frame )&lt;br /&gt;
	return p.ptwiki( frame )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- https://en.wikibooks.org/wiki/Lua_Functional_Programming/Functions&lt;br /&gt;
function where(criteria, array)&lt;br /&gt;
  local result = {}&lt;br /&gt;
  for key, value in pairs(array) do&lt;br /&gt;
    if criteria(key, value)&lt;br /&gt;
    	then&lt;br /&gt;
    		mw.log(&amp;quot;where: criteria(&amp;quot; .. key .. &amp;quot;, &amp;quot; .. value .. &amp;quot;) -&amp;gt; True&amp;quot;)&lt;br /&gt;
    		table.insert(result, value) -- table.insert(result, key, value)&lt;br /&gt;
	end&lt;br /&gt;
  end&lt;br /&gt;
  return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function all(criteria, array)&lt;br /&gt;
	local result = true&lt;br /&gt;
	for _, value in pairs(array) do&lt;br /&gt;
		if not criteria(value)&lt;br /&gt;
			then&lt;br /&gt;
				result = false&lt;br /&gt;
				break&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
	&lt;br /&gt;
is_string = function(object)&lt;br /&gt;
	return type(object) == &amp;quot;string&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
select_arg = function(frame, mandatory, keys, default)&lt;br /&gt;
	local selected_key = &amp;quot;&amp;quot;&lt;br /&gt;
	local selected_keys&lt;br /&gt;
	local selected_keys_count&lt;br /&gt;
	local selected_arg = default&lt;br /&gt;
	local selected_any&lt;br /&gt;
&lt;br /&gt;
	-- assert( all(is_string, keys), &amp;quot;Erro interno&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
	mw.log(&amp;quot;select_arg: Procurando parâmetros `&amp;quot; .. table.concat(keys, &amp;quot;`, ou `&amp;quot;) .. &amp;quot;`&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	selected_keys = where(function(keykey, key) return frame.args[key] ~= nil end, keys)&lt;br /&gt;
	selected_keys_count = table.getn(selected_keys)&lt;br /&gt;
	selected_any = ( selected_keys_count &amp;gt; 0 )&lt;br /&gt;
	&lt;br /&gt;
	mw.log(&amp;quot;select_arg: Encontrados &amp;quot; .. selected_keys_count .. &amp;quot;: `&amp;quot; .. table.concat(selected_keys, &amp;quot;`, e `&amp;quot;) .. &amp;quot;`&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	if selected_any&lt;br /&gt;
		then&lt;br /&gt;
			assert(selected_keys_count &amp;lt;= 1, &amp;quot;Conflito de parâmetros: `&amp;quot; .. table.concat(selected_keys, &amp;quot;`, e `&amp;quot;) .. &amp;quot;`!&amp;quot; )&lt;br /&gt;
			selected_key = table.remove(selected_keys, 1)&lt;br /&gt;
			selected_arg = frame.args[selected_key]&lt;br /&gt;
			assert( type(selected_arg) == &amp;quot;string&amp;quot;, &amp;quot;Parâmetro `&amp;quot; .. selected_key .. &amp;quot;` não é do tipo &amp;#039;string&amp;#039;!&amp;quot; )&lt;br /&gt;
		else&lt;br /&gt;
			assert(not mandatory, &amp;quot;Falta parâmetro: `&amp;quot; .. table.concat(keys, &amp;quot;`, ou `&amp;quot;) .. &amp;quot;`!&amp;quot; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	assert( is_string(selected_arg), &amp;quot;Parâmetro `&amp;quot; .. selected_key .. &amp;quot;` não é do tipo &amp;#039;string&amp;#039;!&amp;quot; )&lt;br /&gt;
	&lt;br /&gt;
	return selected_any, selected_key, selected_arg&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.ptwiki = function( frame )&lt;br /&gt;
	local section = &amp;quot;&amp;quot;&lt;br /&gt;
	local name = &amp;quot;&amp;quot;&lt;br /&gt;
	local system = &amp;quot;&amp;quot;&lt;br /&gt;
	local style = &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	mw.log(&amp;quot;ptwiki: novo quadro ================&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	_, _, section = select_arg(frame, true, {1, &amp;quot;seção&amp;quot;}, nil)&lt;br /&gt;
	_, _, name = select_arg(frame, true, {2, &amp;quot;nome&amp;quot;}, nil)&lt;br /&gt;
	_, _, system = select_arg(frame, false, {3, &amp;quot;sistema&amp;quot;}, &amp;quot;7&amp;quot;)&lt;br /&gt;
	_, _, style = select_arg(frame, false, {4, &amp;quot;estilo&amp;quot;}, &amp;quot;referência&amp;quot;)&lt;br /&gt;
	return &amp;quot;* &amp;lt;b&amp;gt;&amp;quot; .. frame:expandTemplate{ title = &amp;quot;mono&amp;quot;, args = {name .. &amp;quot;(&amp;quot; .. section .. &amp;quot;)&amp;quot;}} .. &amp;quot;&amp;lt;/b&amp;gt;&amp;amp;nbsp;&amp;amp;ndash;&amp;amp;nbsp;&amp;quot; .. system .. &amp;quot; &amp;#039;&amp;#039;(&amp;quot; .. style .. &amp;quot;)&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Plastikspork</name></author>
	</entry>
</feed>