haskell-workshop/solutions/block1/bob-2.hs

16 lines
514 B
Haskell

module Bob (responseFor) where
import Data.Char ( isLetter, isSpace, isUpper )
responseFor :: String -> String
responseFor input
| null text = "Na gut. Dann eben nicht!"
| isShouting && isAsking = "Chill mal, ich bin da schon dran!"
| isShouting = "Whoa, entspann dich!"
| isAsking = "Klar."
| otherwise = "Whatever."
where
text = filter (not . isSpace) input
letters = filter isLetter text
isShouting = all isUpper letters && any isUpper letters
isAsking = last text == '?'