Saludos andaba atinando mas mis practicas con haskell y se me ocurrio hacer este xor los cuales me salieron cada uno en una sola linea gracias a las listas intensionales de haskell

Código: Seleccionar todo

import Data.Bits
import Data.Char

xXor :: [Char] -> Int -> [Int]
xXor x k = [xor (ord y) k | y <- x]

desXor :: [Int] -> Int -> [Char]
desXor x k = [chr (y `xor` k) | y <- x]
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\Mis docume
ntos\Mis Scripts En Haskell\xor.hs, interpreted )
Ok, modules loaded: Main.
*Main> xXor "Haskell" 28
[84,125,111,119,121,112,112]
*Main> desXor [84,125,111,119,121,112,112] 28
"Haskell"
*Main>
Me encanta haskell, es puta ostia

Salu2
Abolición para el torneo del toro de la vega. Death to the murderers of bulls.
Filisko escribió:Wauw! yo estuve tocando un poco de Haskell, es muy interesante xD
Saludos y gracias por el aporte!
Es un lenguaje muy interesante y de hecho lo recomiendo aprenderlo, sus codes son muy limpios y cortisimos, lo que haces en otros lenguajes imperativos en 100 lineas lo haces en haskell en 10 lineas, la verdad es que haskell es bellisimo me encanto desde la primera vez que lo vi, saludos Filisko
Abolición para el torneo del toro de la vega. Death to the murderers of bulls.
Responder

Volver a “Fuentes”