Convierte una frase en su acrónimo.
¡A los tecnólogos les encantan las TLA (del inglés Three Letter Acronyms, «siglas de tres letras»)!
Ayuda a generar algo de jerga escribiendo un programa que convierta un nombre largo como Portable Network Graphics en su acrónimo (PNG).
La puntuación se trata del siguiente modo: los guiones son separadores de palabras (igual que los espacios en blanco); el resto de la puntuación se puede eliminar de la entrada.
Por ejemplo:
| Entrada | Salida |
|---|---|
| As Soon As Possible | ASAP |
| Liquid-crystal display | LCD |
| Thank George It's Friday! | TGIF |
Este ejercicio trabaja con datos textuales. Por motivos históricos, el tipo String de Haskell es sinónimo de [Char], una lista de caracteres. Para un tratamiento más eficiente de los datos textuales, se puede usar el tipo Text.
Como ampliación opcional de este ejercicio, puedes
Leer sobre los tipos de string en Haskell.
Añadir - text a tu lista de dependencias en package.yaml.
Importar Data.Text de la siguiente manera:
import qualified Data.Text as T
import Data.Text (Text)
Ahora ya puedes escribir, por ejemplo, abbreviate :: Text -> Text y referirte a los combinadores de Data.Text como, por ejemplo, T.filter.
Consultar la documentación de Data.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.
Hacemos una inmersión tranquila en las expresiones regulares: empezamos con la coincidencia básica de espacios en blanco, exploramos Unicode y terminamos con los lookbehinds negativos. Acabamos echando un vistazo a otros enfoques para Acrónimo, incluidas las máquinas de estados.