3 006 bytes adicionados,
12h15min de 15 de dezembro de 2019 <section begin=header />
{{#ifeq:{{#invoke:String|find|{{FULLPAGENAME}}|Testes}}|0|<includeonly>{{alto-risco| 10000}}</includeonly>}}
<section end=header />
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 ==
Para usar as funções incluídas, deve primeiro carregar o módulo.
<source lang="lua">
local TableTools = require('Módulo:TableTools')
</source>
== isPositiveInteger ==
<source lang="lua">
TableTools.isPositiveInteger(value)
</source>
Devolve <code>true</code> se <code>''value''</code> é um número positivo, e <code>false</code> if not. Apesar de não operar nas tabelas, é incluido pois determina se uma chave de uma tabela no array é parte da tabela.
== isNan ==
<source lang="lua">
TableTools.isNan(value)
</source>
Devolve <code>true</code> se <code>''value''</code> é o valor NaN, e <code>false</code> 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 ==
<source lang="lua">
TableTools.shallowClone(t)
</source>
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:Extension:Scribunto/Lua reference manual#mw.clone|mw.clone]].
== removeDuplicates ==
<source lang="lua">
TableTools.removeDuplicates(t)
</source>
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 <code>nil</code> value. (For arrays containing <code>nil</code> values, you can use [[#compressSparseArray|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 {{code|code={5, 4, 4, 3, 4, 2, 2, 1}|lang=lua}} removeDuplicates will return {{code|code={5, 4, 3, 2, 1}|lang=lua}}
== numKeys ==
<source lang="lua">
TableTools.numKeys(t)
</source>
== affixNums ==
<source lang="lua">
TableTools.affixNums(t, prefix, suffix)
</source>
== numData ==
<source lang="lua">
TableTools.numData(t, compress)
</source>
== compressSparseArray ==
<source lang="lua">
TableTools.compressSparseArray(t)
</source>
== sparseIpairs ==
<source lang="lua">
TableTools.sparseIpairs(t)
</source>
<source lang="lua">
for i, v in TableTools.sparseIpairs(t) do
-- code block
end
</source>
== size ==
<source lang="lua">
TableTools.size(t)
</source>
Outra documentação:
* [[Wikipédia:Lua]]
<includeonly>{{#ifeq:{{SUBPAGENAME}}|Testes||
[[Categoria:!Metamódulos Lua|TableTools, {{PAGENAME}}]]
}}</includeonly>