Multisplit: Difference between revisions

m
→‎{{header|Haskell}}: preferred `maybe` to `case Just ... Nothing ...` in fold version.
m (→‎{{header|Haskell}}: Pruned out one redundant binding from fold version.)
m (→‎{{header|Haskell}}: preferred `maybe` to `case Just ... Nothing ...` in fold version.)
Line 685:
(\(tokens, parts, offset) (c, i) ->
let inDelim = offset > i
in case bool (find (`isPrefixOf` drop i s) ds) Nothing inDelim ofmaybe
Just(bool x(c ->: ([],tokens) (tokens, xinDelim, i) : parts, i + length xoffset)
Nothing(\x -> (bool[], (ctokens, :x, tokensi) tokens inDelim,: parts, offseti + length x))
(bool (find (`isPrefixOf` drop i s) ds) Nothing inDelim))
([], [], 0)
(zip s [0 ..])
in reverse $ (ts, [], length s) : ps
 
main :: IO ()
main = print $ multiSplit ["==", "!=", "="] "a!===b=!=c"</lang>
9,655

edits