I want to split a string into 5 parts of equal length, with the last fifth padded if necessary, but can't get it right - here's what I've got -
> fifths :: String -> String > fifths s = fifths' "" 0 s > where l = (length s) `div` 5 > fifths' xs c [] = xs ++ (replicate (l-c) 'X') > fifths' xs c (y:ys) = if c == l > then fifths' (xs++[' ',y]) 0 > ys > else fifths' (xs++[y]) (c+1) > ys which, apart from surely being uglier than need be, doesn't work: *Main> fifths "IDOLIKETOBEBESIDETHESEASIDE" "IDOLI KETOBE BESIDE THESEA SIDEXX" *Main> fifths "12345" "1 23 45" Any thoughts? Thanks! This isn't homework BTW, I'm having a go at the ruby quiz puzzles in haskell, which seems to be a nice way to learn. -- View this message in context: http://www.nabble.com/split-string-into-n-parts-tf2496941.html#a6960346 Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe