Página 1 de 1

Split Haskell by Strup

Publicado: 15 Mar 2014, 15:33
por strup
Saludos foro, viendo que mi anterior split en haskell solo splitaba a partir de chars decidi entonces hacerme uno como dios manda (dividir mediante un delimitador del tipo string)
aqui dejo el code

Código: Seleccionar todo

{-
Función: Split
Autor: Strup
Descripcion: dividir una cadena a partir del delimitador para retornarla en una lista de cadenas
Data: 15/03/2014 14:48
-}
split :: String -> String -> [String]
split xs ys = case xs of "" -> []
                         otherwise -> take(inStr xs ys) xs:split (drop((inStr xs ys)+length ys) xs) ys
inStr xs ys = case xs of "" -> 0
                         st@(_:xs) -> if length [True | (s,y) <- zip st ys, s == y] == length ys then inStr "" ys else 1+inStr xs ys
Muestra:

Código: Seleccionar todo

"ghci>" :load "Split.hs"
[1 of 1] Compiling Main             ( Split.hs, interpreted )
Ok, modules loaded: Main.
"ghci>" split "Llego[Strup]el[Strup]capitan[Strup]salami" "[Strup]"
["Llego","el","capitan","salami"]
en pastebin: [Enlace externo eliminado para invitados]

Como se puede observar yo mismo me codee la funcion instr para poder localizar el delimitador ya que en haskell por lo menos asta ahora no la e visto en ningun modulo, si os fijais es el mismo split que usamos para los stubs de los crypters de visual basic, Bueno espero les guste el code, saludos foro

Re: Split Haskell by Strup

Publicado: 15 Mar 2014, 22:12
por Filisko
jajaja, qué gracioso ver el syntaxhighlighter en pastebin de Haskell ^^ saludos man, buen código!!

Re: Split Haskell by Strup

Publicado: 19 Mar 2014, 21:45
por strup
Filisko escribió:jajaja, qué gracioso ver el syntaxhighlighter en pastebin de Haskell ^^ saludos man, buen código!!
jajaja si que queda chulo si , un saludo