Página 1 de 1

Split Haskell

Publicado: 27 Feb 2014, 01:57
por strup
Saludos foro como estoy metido en haskell dije voy haber si me hago un split xD, y bueno me salio este split de solo 5 lineas (la cabecera de la funcion no cuenta pues haskell detecta el comportamiento automaticamente) xDDD

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: 26/02/2014 01:58
-}
split :: [Char] -> Char -> [[Char]]
split "" _ = []
split xs y =[take (pos xs y) xs]++split (drop ((pos xs y)+1) xs) y
pos "" _ = 0
pos (x:xs) d
	| x /= d = 1+pos xs d | otherwise = pos "" d
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\split.hs, interpreted )
Ok, modules loaded: Main.
*Main> split "hola-puta-zorra" '-'
["hola","puta","zorra"]
*Main>
espero os guste un saludo

Re: Split Haskell

Publicado: 28 Feb 2014, 18:15
por Pink
Excelente bro un gusto ver lo que has progresado.

saludos

Re: Split Haskell

Publicado: 28 Feb 2014, 18:22
por strup
Pink escribió:Excelente bro un gusto ver lo que has progresado.

saludos
Gracias pink un gusto leerte, un saludo gay