Haskell:
Interpolación de cadenas de texto
Cómo Hacerlo:
En Haskell, puedes usar la librería text-format
o Printf
para la interpolación de cadenas. Aquí tienes algunos ejemplos:
import Text.Printf (printf)
-- Usando printf
nombre :: String
nombre = "Mundo"
saludo :: String
saludo = printf "Hola, %s!" nombre
main :: IO ()
main = putStrLn saludo -- "Hola, Mundo!"
Y con text-format
, que es más potente pero también requiere entender un poco más sobre los tipos de datos:
import Data.Text.Format (format)
import Data.Text.Lazy.IO as I
nombre :: String
nombre = "Mundo"
saludo :: String
saludo = format "Hola, {}!" [nombre]
main :: IO ()
main = I.putStrLn saludo -- "Hola, Mundo!"
Inmersión Profunda:
La interpolación de cadenas no es una función nativa de Haskell como en otros lenguajes. En los inicios, se usaba la función ++
para concatenar cadenas, lo cual puede ser molesto y propenso a errores. La librería Printf
fue una de las primeras en facilitar este proceso, inspirada en el lenguaje C. Sin embargo, text-format
, aunque más nueva, ofrece mayor flexibilidad y eficiencia al trabajar con el tipo de dato Text
en lugar de String
. Detrás de escenas, estas funciones funcionan transformando las plantillas de cadenas en funciones que al aplicarlas generan el resultado deseado.
Ver También:
- Documentación de
text-format
: https://hackage.haskell.org/package/format - Tutorial Printf en Haskell: https://hackage.haskell.org/package/base-4.16.1.0/docs/Text-Printf.html
- Haskell Wiki sobre la interpolación de cadenas: https://wiki.haskell.org/Interpolation