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.

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


TableTools.size(t)

Outra documentação:

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