Gotas de chuva é uma versão um pouco mais complexa do desafio FizzBuzz, uma questão clássica de entrevistas.
Sua tarefa é converter um número nos sons correspondentes de gotas de chuva.
Se um determinado número:
"Plong"."PlingPlang"."34".Você precisa implementar a função convert, que retorna o número convertido no som de gota de chuva. Você pode usar a assinatura fornecida se estiver na dúvida sobre os tipos, mas não deixe que ela restrinja a sua criatividade:
convert :: Int -> String
Este exercício trabalha com dados textuais. Por razões históricas, o tipo String do Haskell é sinônimo de [Char], uma lista de caracteres. Para lidar com dados textuais de forma mais eficiente, é possível usar o tipo Text.
Como uma extensão opcional deste exercício, você pode
- text à sua lista de dependências no package.yaml.Data.Text da seguinte forma:import qualified Data.Text as T
import Data.Text (Text)
convert :: Int -> Text e se referir aos combinadores de Data.Text como, por exemplo, T.pack.Data.Text,String por Text no Raindrops.hs:convert :: Int -> Text
Esta parte é totalmente opcional.
Crie sua conta no Exercism para aprender e dominar Haskell com 107 exercícios e mentoria humana de verdade, tudo de graça.
Explore soluções usando pipelines funcionais, multiplicação de matrizes, uma solução pré-calculada baseada em tabela usando uma macro, uma abordagem orientada a objetos, um uso impressionante de Python e TCL e uma edição empresarial.