Bueno andaba practicando una vez mas y se me ocurrio traducir el cifrado L213 de Metal_Kingdom a haskell para ir practicando mas y me salio el cifrado en una linea y el descifrado tambien

Código: Seleccionar todo

import Data.Char
l213 xs k | k > 744 = error "La key a de ser menor de 745" | otherwise = ["LUCIFER213" !! (digitToInt x) |x <- concat[ if length y == 4 then tail y else y | y <- ['0':show (ord f + k)| f <- xs]]]

desL213 [] _ = [];desL213 (a:b:c:xs) k | k > 744 = error "La key a de ser menor de 745" | otherwise = chr((read [w | x <- a:b:c:"",s <- [i |(s,i) <- zip "LUCIFER213" [0..9],x==s],w <- show s]::Int)-k):desL213 xs k
en Pastebin [Enlace externo eliminado para invitados]

Muestra:

Código: Seleccionar todo

GHCi, version 7.6.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
[1 of 1] Compiling Main             ( C:\Documents and Settings\Strup\Escritorio
\L213.hs, interpreted )
Ok, modules loaded: Main.
*Main> putStrLn (l213 "Hola puta." 20)
L3CUIUUC1UU2LECUICUI2UIRUU2LRR
*Main> putStrLn (desL213 "L3CUIUUC1UU2LECUICUI2UIRUU2LRR" 20)
Hola puta.
*Main>
Hacer este code me ayudo a mejorar en mis practicas
Espero os guste el code un saludo
Abolición para el torneo del toro de la vega. Death to the murderers of bulls.
Gracias maquina, un abrazo
Abolición para el torneo del toro de la vega. Death to the murderers of bulls.
Aun que no comprendo haskell, la función se ve espectacular... ojalá sigas progresando con éste lenguaje y hasta algún día hagas un tuto, o lo documentes un poco, saludos!.
Gracias a los 2, ire progresando y haber si habro algun hilo alguna vez sobre haskell por que ando leyendome poco a poco un libro, y cada cosa que aprendo la llevo en todo lo que pueda la practica para ir dominando haskell poco a poco, y todavia me queda un largo camino para tal fin, es un lenguaje bastante complejo y se basa en la logica matematica de haskell curry y sus comandos son ecuaciones basicamente y demas, ahora eso si una vez comprendas un poco el lenguaje sus codes son extremadamente faciles leerlos ya me e leido varias funciones grandes sin dificultades, aparte haskell mejora la habilidad de resolver algoritmos, lo recomiendo mucho y ademas es compilado tambien ,lo unico de haskell que me jode a veces y me repatea es el tema de la sangria para las clausulas pues es muy exigente y a mi me funciona si le doy un determinado numero de espaciados pero si tabulo no me funca el programa xDD, segun lei es por que asi es como detecta el final de las clausulas, un abrazo bros
Abolición para el torneo del toro de la vega. Death to the murderers of bulls.
Responder

Volver a “Fuentes”