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.