Saltar para o conteúdo

Módulo:TableTools/doc

Origem: Wikilivros, livros abertos por um mundo aberto.

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.

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>

TableTools.numKeys(t)
TableTools.affixNums(t, prefix, suffix)
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


TableTools.size(t)

Outra documentação:

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