Módulo:CheckDigit
Ir para navegação
Ir para pesquisar
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