
It looks like your latest version works.
This also works:
*Temp> let replaceThe = unwords . map (\i -> if i=="the" then "a" else i) .
words
*Temp> replaceThe "is the bat"
"is a bat"
*Temp>
On Sat, Nov 18, 2017 at 10:46 AM, Brody Berg
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
wrote: 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
_______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
-- Jeff Brown | Jeffrey Benjamin Brown Website https://msu.edu/~brown202/ | Facebook https://www.facebook.com/mejeff.younotjeff | LinkedIn https://www.linkedin.com/in/jeffreybenjaminbrown(spammy, so I often miss messages here) | Github https://github.com/jeffreybenjaminbrown