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
這部分完全是選用的。