Módulo:TableTools/doc

Origem: Wikilivros, livros abertos por um mundo aberto.

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 código-fonte]

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

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

isPositiveInteger[editar código-fonte]

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 código-fonte]

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 código-fonte]

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 código-fonte]

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 código-fonte]

TableTools.numKeys(t)

affixNums[editar código-fonte]

TableTools.affixNums(t, prefix, suffix)

numData[editar código-fonte]

TableTools.numData(t, compress)

compressSparseArray[editar código-fonte]

TableTools.compressSparseArray(t)

sparseIpairs[editar código-fonte]

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


size[editar código-fonte]

TableTools.size(t)

Outra documentação: