鲍勃是个无精打采的少年。 他喜欢觉得自己很酷。 而且他绝对不会为什么事情兴奋起来。 那样就不酷了。
人们跟他说话时,他的回答相当有限。
你的任务是判断当有人对 Bob 说话,或者问他问题时,Bob 会回答什么。
Bob 只会给出五种回答之一:
你需要实现responseFor函数,它根据给定的输入返回 Bob 的回应。如果不确定类型,可以参考给出的签名,但不要让它限制你的创造力:
responseFor :: String -> String
要解决这个练习,你可以先了解:
本练习处理文本数据。由于历史原因,Haskell 的String类型等同于[Char],也就是一个字符数组。为了更高效地处理文本数据,可以使用Text类型。
作为本练习的可选扩展,你可以
阅读 Haskell 中关于字符串类型的内容。
在 package.yaml 的依赖列表中添加- text。
按以下方式导入Data.Text:
import qualified Data.Text as T
import Data.Text (Text)
现在你可以写responseFor :: Text -> Text这样的代码,也可以用T.isSuffixOf这样的方式引用Data.Text的组合子。
查阅Data.Text的文档,
然后你可以在 Bob.hs 中把所有出现的String替换为Text:
responseFor :: Text -> Text
这部分完全可选。