Акронім

Акронім

Легка

Вказівки

Перетворіть фразу на її акронім.

Айтівці обожнюють свої TLA (трилітерні акроніми)!

Допоможіть згенерувати трохи жаргону: напишіть програму, яка перетворює довгу назву на кшталт Portable Network Graphics на її акронім (PNG).

З розділовими знаками поводимося так: дефіси розділяють слова (як пробіли); усі інші розділові знаки можна прибрати з вхідних даних.

Наприклад:

Вхід Вихід
As Soon As Possible ASAP
Liquid-crystal display LCD
Thank George It's Friday! TGIF

Підказки

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

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

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

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

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

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

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

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


Джерело

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

Час розпочати Акронім?

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

Глибоке занурення у Акронім!

Ми неквапливо поринемо в регулярні вирази: почнемо зі зіставлення пробільних символів, дослідимо Unicode, а закінчимо негативними lookbehind. Наостанок розглянемо інші підходи до вправи «Акронім», зокрема скінченні автомати.