Bob

Bob

Könnyű

Bevezetés

Bob egy nemtörődöm tinédzser. Szeret azt hinni, hogy nagyon menő. És határozottan nem lelkesedik semmiért. Az nem lenne menő.

Amikor az emberek beszélnek hozzá, meglehetősen korlátozottak a válaszai.

Utasítások

A feladatod, hogy kitaláld, mit válaszol Bob, amikor valaki szól hozzá, vagy kérdez tőle valamit.

Bob mindig csak az alábbi öt dolog egyikét válaszolja:

  • „Sure.” Ezt válaszolja, ha kérdeznek tőle valamit, például hogy „Hogy vagy?” A kérdés ismérve, hogy kérdőjellel végződik.
  • „Whoa, chill out!” Ezt válaszolja, ha KIABÁLSZ VELE. A kiabálás ismérve, hogy MINDEN BETŰ NAGYBETŰ.
  • „Calm down, I know what I'm doing!” Ezt mondja, ha kiabálva kérdezel tőle valamit.
  • „Fine. Be that way!” Így reagál a csendre. A csend ismérve, hogy semmit nem mondasz, vagy csak különféle whitespace-karaktereket.
  • „Whatever.” Minden másra ezt válaszolja.

Tippek

Implementálnod kell a responseFor függvényt, amely egy adott bemenetre visszaadja Bob válaszát. Ha nem vagy biztos a típusokban, használhatod a megadott szignatúrát, de ne hagyd, hogy az korlátozza a kreativitásodat:

responseFor :: String -> String

A feladat megoldásához érdemes utánanéznod a következőknek:

Ez a feladat szöveges adatokkal dolgozik. Történelmi okokból a Haskell String típusa ugyanazt jelenti, mint a [Char], azaz a karakterek listája. A szöveges adatok hatékonyabb kezeléséhez használhatod a Text típust.

A feladat opcionális kiterjesztéseként a következőket teheted:

  • Olvass a Haskell stringtípusairól.

  • Vedd fel a - text elemet a package.yaml fájl függőségei közé.

  • Importáld a Data.Text modult a következő módon:

    import qualified Data.Text as T
    import           Data.Text (Text)
    
  • Most már írhatsz például ilyet: responseFor :: Text -> Text, és hivatkozhatsz a Data.Text kombinátoraira, például így: T.isSuffixOf.

  • Nézd meg a Data.Text dokumentációját,

  • Ezután a Bob.hs fájlban lecserélheted a String minden előfordulását Text-re:

    responseFor :: Text -> Text
    

Ez a rész teljesen opcionális.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Haskell Exercism

Készen állsz elkezdeni a(z) Bob feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Haskell nyelvet 107 feladat segítségével, valódi emberi mentorálással, mindez ingyen.