Bob

Bob

Легка

Вступ

Боб - безтурботний підліток. Він любить вважати себе дуже крутим. І він точно не захоплюється різними речами. Це було б не круто.

Коли люди з ним розмовляють, його відповіді досить обмежені.

Вказівки

Визначте, що Боб відповість, коли йому щось кажуть або запитують його.

Боб завжди відповідає одним із пʼяти:

  • "Sure." Це його відповідь, якщо ми запитуємо його, наприклад, «How are you?» Заведено, що запитання закінчується знаком питання.
  • "Whoa, chill out!" Це його відповідь, якщо ми КРИЧИМО НА НЬОГО. Заведено, що крик передають усіма великими літерами.
  • "Calm down, I know what I'm doing!" Це те, що він каже, якщо ми кричимо йому запитання.
  • "Fine. Be that way!" Так він відповідає на тишу. Заведено, що тиша - це нічого або різні комбінації пробільних символів.
  • "Whatever." Це його відповідь на все інше.

Підказки

Реалізуйте функцію responseFor, яка повертає відповідь Боба на задані вхідні дані. Можна скористатися наданою сигнатурою, якщо є сумніви щодо типів, але хай вона не обмежує творчості:

responseFor :: String -> String

Щоб розвʼязати цю вправу, можна почитати про:

Ця вправа працює з текстовими даними. З історичних причин тип String у Haskell є синонімом до [Char], списку символів. Для ефективнішої роботи з текстовими даними можна використати тип Text.

Як необовʼязкове розширення до цієї вправи можна:

  • Прочитати про типи рядків тексту (англ. string) у Haskell.

  • Додати - text до списку залежностей у package.yaml.

  • Імпортувати Data.Text у такий спосіб:

    import qualified Data.Text as T
    import           Data.Text (Text)
    
  • Тепер можна написати, наприклад, responseFor :: Text -> Text, і посилатися на комбінатори з Data.Text як, наприклад, T.isSuffixOf.

  • Знайти документацію для Data.Text,

  • Потім можна замінити всі входження String на Text у Bob.hs:

    responseFor :: Text -> Text
    

Ця частина цілком необовʼязкова.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Haskell Exercism

Час розпочати Bob?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Haskell, а також 107 вправ та справжнє наставництво від людей, і все це безкоштовно.