Saltar para o conteúdo

Módulo:TableTools/doc

Fonte: Wikinotícias

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 if not. Apesar de não operar nas tabelas, é incluido 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 if not. Apesar de não operar nas tabelas, é incluido 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 as are all values after the first nil value. (For arrays containing nil values, you can use compressSparseArray first.) The function tries to preserve the order of the array: the earliest non-unique value is kept, and all subsequent duplicate values are removed. For example, for the table <nowiki>{{{1}}}</nowiki> removeDuplicates will return <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)