Lo tenía que hacer, gracias, me sirve!

Abrazo

P

On 5/26/07, Lautaro Bonetto <[EMAIL PROTECTED]> wrote:
> Hola a todos.
>
> Convertí una función de VBScript que encontré y andaba necesitando, a Ruby.
> Se las comparto a ustedes por si alguien en algún momento necesita de lo
> mismo.
> Básicamente es una función que calcula el CUIT/CUIL de una persona, en base
> al nro de DNI y al sexo de ella.
> Seguramente se le puede mejorar algo el código... pero está funcionando
> bien. La misma función en VBS ocupaba más del doble de lineas de código.
>
>
> class Impositivo
>     def generar_cuit(sexo, nro_dni)
>         dniStc = nro_dni.to_s.rjust 8, "0"
>         xyStc = 30
>         xyStc = 27 if sexo == "f"
>          xyStc = 20 if sexo == "m"
>         cDocum = xyStc.to_s + dniStc
>         matriz = [5,4,3,2,7,6,5,4,3,2]
>         xx = 0
>         10.times do |t|
>             xx += cDocum[t].chr.to_i * matriz[t]
>         end
>         n = 11 - xx % 11
>         if n == 10
>             if (xyStc == 20 or xyStc == 27 or xyStc == 24)
>                 xyStc, digitoStc = 23, 9
>             else
>                 xyStc, digitoStc = 33, 9
>             end
>             digitoStc = 4 if xyStc == 27
>         else
>             digitoStc = (n == 11) ? 0 : n
>         end
>         return xyStc.to_s + dniStc + digitoStc.to_s
>     end
> end
>
> imp = Impositivo.new
> puts imp.generar_cuit("m", 12123123)
>
> --
> Saludos, Lautaro Bonetto.
> http://lautaro-bonetto.neurona.com
> _______________________________________________
> ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>
>


-- 
Pedro   Visintin .  I T   S o l u t i o n s   A r c h i t e c t
Ruby On Rails Argentina. http://blogs.onrails.com.ar
Personal page:
http://www.p-e-t-e-r-p-u-n-k.com.ar
_______________________________________________
ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a