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 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
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 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>

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)