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
Abolición para el torneo del toro de la vega. Death to the murderers of bulls.
Pink escribió:Excelente bro un gusto ver lo que has progresado.

saludos
Gracias pink un gusto leerte, un saludo gay
Abolición para el torneo del toro de la vega. Death to the murderers of bulls.
Responder

Volver a “Fuentes”