Módulo:CheckDigit: mudanças entre as edições
Ir para navegação
Ir para pesquisar
Sem resumo de edição |
m (uma edição) |
(Sem diferença)
|
Edição atual tal como às 15h19min de 26 de outubro de 2020
A documentação para este módulo pode ser criada em Módulo:CheckDigit/doc
local p = {}
function p.generate ( frame )
local str = mw.text.trim( frame.args[1] ) or ''
local tab = {}
local newtab = {}
local sum = 0
local checkDigit = 0
str:gsub( ".", function( each ) table.insert( tab, each ) end )
for key, value in pairs(tab)
do
if (key % 2 == 0) then -- é par
table.insert( newtab, value * 3 )
else -- é impar
table.insert( newtab, value )
end
end
for key, value in pairs( newtab )
do
sum = sum + value
end
checkDigit = 10 - ( sum % 10 )
if checkDigit == 10
then
checkDigit = 0
end
return str .. checkDigit
end
return p