Gotas de lluvia es una versión un poco más compleja del reto FizzBuzz, una pregunta clásica en las entrevistas de trabajo.
Tu tarea consiste en convertir un número en los sonidos de gota de lluvia que le corresponden.
Dado un número:
"Plong"."PlingPlang"."34".Tienes que implementar la función convert, que devuelve el número convertido en sonido de gota de lluvia. Puedes usar la signatura que se te proporciona si no tienes claro los tipos, pero no dejes que limite tu creatividad:
convert :: Int -> String
Este ejercicio trabaja con datos textuales. Por razones históricas, el tipo String de Haskell es sinónimo de [Char], una lista de caracteres. Para manejar datos textuales de forma más eficiente, se puede usar el tipo Text.
Como ampliación opcional de este ejercicio, puedes
- text a tu lista de dependencias en package.yaml.Data.Text de la siguiente manera:import qualified Data.Text as T
import Data.Text (Text)
convert :: Int -> Text y referirte a los combinadores de Data.Text como, por ejemplo, T.pack.Data.Text,String por Text en Raindrops.hs:convert :: Int -> Text
Esta parte es totalmente opcional.
Regístrate en Exercism para aprender y dominar Haskell con 107 ejercicios y mentoría humana real, todo gratis.
Explora soluciones que usan canalizaciones funcionales, multiplicación de matrices, una solución precalculada basada en tablas mediante una macro, un enfoque orientado a objetos, un uso impresionante tanto de Python como de TCL y una edición empresarial.