
My complete code:
notThe :: String -> Maybe String
notThe word
| word == "the" = Nothing
| otherwise = Just word
replaceThe :: String -> String
replaceThe word = go $ words word
where
go [] = ""
go (x:xs) =
case (notThe x) of
Just x -> x ++ " " ++ go xs
Nothing -> " a " ++ go xs
On Sat, Nov 18, 2017 at 9:48 AM, Brody Berg
Made some changes to replaceThe to handle the possibility of empty list:
replaceThe :: String -> String replaceThe word = go $ words word where go [] = “” go (x:xs) = case (notThe x) of Just x -> x ++ “ “ ++ go xs Nothing -> “ a “ ++ go xs
Typed this on a phone, sorry
On Sat, Nov 18, 2017 at 09:16 Jim
wrote: Hey guys,
Thiis is my function below:
notThe :: String -> Maybe String notThe word | word /= "the" = Just word | word == [] = Just [] | otherwise = Nothing
replaceThe :: String -> String replaceThe word = go (words word) where go (x:xs) | notThe x == Just [] = [] | notThe x == Just word = word ++ go xs | notThe word == Nothing = " a " ++ go xs
replaceThe "what" "what*** Exception: chap12.hs:(13,13)-(16,55): Non-exhaustive patterns in function go
I thought I covered all the potential patterns in my replaceThe function. I'm not sure what pattern I've missed, any thoughts?
Best regards,
Jim
_______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners