Bob è un adolescente svogliato. Gli piace pensare di essere molto figo. E di certo non si entusiasma per le cose. Non sarebbe figo.
Quando le persone gli parlano, le sue risposte sono piuttosto limitate.
Il tuo compito è determinare cosa risponderà Bob quando qualcuno gli dice qualcosa o gli fa una domanda.
Bob risponde sempre e solo in uno di cinque modi:
Devi implementare la funzione responseFor che restituisce la risposta di Bob
per un dato input. Puoi usare la firma fornita se non sei sicuro
dei tipi, ma non lasciare che limiti la tua creatività:
responseFor :: String -> String
Per risolvere questo esercizio puoi documentarti su:
Questo esercizio lavora con dati testuali. Per ragioni storiche, il tipo
String di Haskell è sinonimo di [Char], un array di caratteri. Per gestire
i dati testuali in modo più efficiente, si può usare il tipo Text.
Come estensione facoltativa di questo esercizio, puoi:
Leggere qualcosa su tipi di stringa in Haskell.
Aggiungere - text all'elenco delle dipendenze in package.yaml.
Importare Data.Text nel modo seguente:
import qualified Data.Text as T
import Data.Text (Text)
Ora puoi scrivere ad esempio responseFor :: Text -> Text e fare riferimento ai combinatori di Data.Text come ad esempio T.isSuffixOf.
Consultare la documentazione di Data.Text,
Successivamente puoi sostituire tutte le occorrenze di String con Text in Bob.hs:
responseFor :: Text -> Text
Questa parte è del tutto facoltativa.
Iscriviti a Exercism per imparare e padroneggiare Haskell con 107 esercizi e il mentoring di persone reali, tutto gratis.