Esta é a página de documentação de Módulo:TableTools

Este módulo e os submódulos associados suportam outros módulos Lua com tabelas. E não devem ser chamadas diretamente com #invoke.

Carregando o módulo editar

Para usar as funções incluídas, deve primeiro carregar o módulo.

local TableTools = require('Módulo:TableTools')

isPositiveInteger editar

TableTools.isPositiveInteger(value)

Devolve true se value é um número positivo, e false se não. Apesar de não operar nas tabelas, é incluído, pois determina se uma chave de uma tabela no array é parte da tabela.

isNan editar

TableTools.isNan(value)

Devolve true se value é o valor NaN, e false se não. Apesar de não operar nas tabelas, é incluído, pois determina se pode ser uma chave válida da tabela. (Lua gera um erro se o valor NaN é usado para uma chave de uma tabela.)

shallowClone editar

TableTools.shallowClone(t)

Devolve um clone de uma tabela. O valor obtido é uma nova tabela, mas as subtabelas e funções são partilhadas. São respeitados métodos meta, mas a tabela obtida não tem em si metatabela. Se deseja criar uma nova tabela sem subtabelas partilhadas mas com metatabelas transferidas, pode em também usar mw.clone.

removeDuplicates editar

TableTools.removeDuplicates(t)

Remove valores duplicados de um array. Esta função é só feita com arrays modelos: chaves que não sejam números positivos são ignorados, assim como são todos os valores após o primeiro valor nil. (Para conter os valores arrays nil, você pode usar o compressSparseArray primeiro.) A função tenta preservar a ordem do array: o valor não-único mais cedo é mantido, e todos os valores duplicados subsequentes são removidos. Por exemplo, para a tabela <nowiki>{{{1}}}</nowiki> removeDuplicates retornará <nowiki>{{{1}}}</nowiki>

numKeys editar

TableTools.numKeys(t)

affixNums editar

TableTools.affixNums(t, prefix, suffix)

numData editar

TableTools.numData(t, compress)

compressSparseArray editar

TableTools.compressSparseArray(t)

sparseIpairs editar

TableTools.sparseIpairs(t)
for i, v in TableTools.sparseIpairs(t) do
   -- code block
end


size editar

TableTools.size(t)

Outra documentação: