Você pode seguir a nossa conta no Twitter onde são publicadas notícias sobre Minecraft e links rápidos para a Wiki 

Hi Gamepedia users and contributors! Please complete this survey to help us learn how to better meet your needs in the future. We have one for editors and readers. This should only take about 7 minutes!

Módulo:ProcessArgs

De Minecraft Wiki
Ir para: navegação, pesquisa

Este módulo permite que os argumentos sejam fundidos e normalizados. Isso também tem o efeito colateral de tornar os argumentos uma tabela real em vez de uma tabela vazia com um metatable para acessar os args. Isso permite que o operador # trabalhe, além de permitir que novos valores sejam adicionados à tabela, sem serem ignorados ao iterar.

A função norm irá normalizar os argumentos passados para ela, aparar espaços em branco e definir argumentos vazios para nil. Se uma tabela não for passada pela função, ela obterá automaticamente a tabela de argumentos pai atual da tabela.

A função merge irá juntar duas tabelas, sobrescrevendo valores duplicados da segunda tabela com o valor da primeira tabela, bem como fazer o mesmo que a função norm Se o parâmetro norm for true. Se o primeiro parâmetro não for uma tabela, ele será usado como o valor para o parâmetro de norm, e ele automaticamente obterá a tabela de argumentos passados diretamente da tabela atual e mesclá-lo-á com a tabela de argumentos pai da tabela atual.

[ver | editar | histórico | purgar]A documentação acima é transcluída de Módulo:ProcessArgs/doc.
local p = {}
function p.norm( origArgs )
	if type( origArgs ) ~= 'table' then
		origArgs = mw.getCurrentFrame():getParent().args
	end
	local args = {}
	
	for k, v in pairs( origArgs ) do
		v = mw.text.trim( tostring( v ) )
		if v ~= '' then
			args[k] = v
		end
	end
	
	return args
end

function p.merge( origArgs, parentArgs, norm )
	if type( origArgs ) ~= 'table' then
		norm = origArgs
		local f = mw.getCurrentFrame()
		origArgs = f.args
		parentArgs = f:getParent().args
	end
	local args = {}
	
	for k, v in pairs( origArgs ) do
		v = mw.text.trim( tostring( v ) )
		if not norm or norm and v ~= '' then
			args[k] = v
		end
	end
	
	for k, v in pairs( parentArgs ) do
		v = mw.text.trim( v )
		if not norm or norm and v ~= '' then
			args[k] = v
		end
	end
	
	return args
end
return p