[Haskell-beginners] Non-exhaustive patterns
Jeffrey Brown
jeffbrown.the at gmail.com
Sat Nov 18 19:15:23 UTC 2017
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 <brodyberg at gmail.com> wrote:
> 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 <brodyberg at gmail.com> 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 <jimbo4350 at gmail.com> 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 at haskell.org
>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>>>
>>
>
> _______________________________________________
> Beginners mailing list
> Beginners at 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>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20171118/03e69d02/attachment-0001.html>
More information about the Beginners
mailing list