Gotas de chuva é uma versão um pouco mais complexa do desafio FizzBuzz, uma pergunta clássica de entrevista.
A tua tarefa é converter um número nos sons de gotas de chuva correspondentes.
Se um número:
"Plong"."PlingPlang"."34".Tens de implementar a função convert, que devolve o número convertido em som de gota de chuva. Podes usar a assinatura fornecida se não tiveres a certeza dos tipos, mas não deixes que isso restrinja a tua 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 carateres. Para um tratamento mais eficiente de dados textuais, podes usar o tipo Text.
Como extensão opcional deste exercício, podes
- text à tua 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 referir-te 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.
Inscreve-te no Exercism para aprenderes e dominares Haskell com 107 exercícios, e mentoria humana real, tudo grátis.
Explora soluções com pipelines funcionais, multiplicação de matrizes, soluções baseadas em tabelas pré-calculadas com uma macro, uma abordagem orientada a objetos, um uso impressionante tanto de Python como de TCL, e uma edição empresarial.