Краплі дощу - трохи складніша версія завдання FizzBuzz, класичного питання на співбесіді.
Наше завдання - перетворити число на відповідні звуки крапель дощу.
Якщо задане число:
"Plong"."PlingPlang"."34".Реалізуйте функцію convert, яка повертає число, перетворене на звук краплі. Можна використати надану сигнатуру, якщо є сумніви щодо типів, але не дозвольте їй обмежувати творчість:
convert :: Int -> String
У цій вправі ми працюємо з текстовими даними. З історичних причин тип String у Haskell є синонімом [Char], масиву символів. Для ефективнішої роботи з текстовими даними можна використати тип Text.
Як необовʼязкове розширення до цієї вправи, можна
- text до списку залежностей у package.yaml.Data.Text у такий спосіб:import qualified Data.Text as T
import Data.Text (Text)
convert :: Int -> Text і звертатися до комбінаторів Data.Text як, наприклад, T.pack.Data.Text,String на Text у Raindrops.hs:convert :: Int -> Text
Ця частина цілком необовʼязкова.
Зареєструйтеся на Exercism, щоб вивчати й опановувати Haskell, а також 107 вправ та справжнє наставництво від людей, і все це безкоштовно.
Розгляньмо рішення з функціональними конвеєрами, множенням матриць, попередньо обчисленими табличними рішеннями з макросом, обʼєктно-орієнтованим підходом, вражаючим використанням і Python, і TCL, а також корпоративну версію.