Módulo:TableTools/doc
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
editarPara usar as funções incluídas, deve primeiro carregar o módulo.
local TableTools = require('Módulo:TableTools')
isPositiveInteger
editarTableTools.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
editarTableTools.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
editarTableTools.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
editarTableTools.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
editarTableTools.numKeys(t)
affixNums
editarTableTools.affixNums(t, prefix, suffix)
numData
editarTableTools.numData(t, compress)
compressSparseArray
editarTableTools.compressSparseArray(t)
sparseIpairs
editarTableTools.sparseIpairs(t)
for i, v in TableTools.sparseIpairs(t) do
-- code block
end
size
editarTableTools.size(t)
Outra documentação:
Esta é a página de documentação de Módulo:TableTools