Haskell:
Calculando la longitud de una cadena
Cómo hacerlo:
En Haskell, usamos la función length para obtener la longitud de una cadena. Aquí tienes un ejemplo sencillo:
longitudCadena :: String -> Int
longitudCadena s = length s
main :: IO ()
main = print (longitudCadena "¡Hola, mundo!")Salida esperada:
13Análisis Detallado
Históricamente, la función length ha sido parte del estándar de Haskell, accesible a través del módulo Prelude. Es directa, pero hay consejos a considerar.
Primero, length es O(n), lo que significa que su tiempo de ejecución está en proporción al tamaño de la lista (o cadena, que es una lista de caracteres). Es una sencillez costosa para cadenas largas.
Alternativas incluyen utilizar foldr para evitar crear listas intermedias o Data.Text.length si estás trabajando con el tipo Text que es más eficiente para los datos de texto grandes.
En cuanto a la implementación, length recorre toda la lista, contando los elementos. No es recomendable para listas infinitas o muy largas, por razones obvias.
Ver También
- Haskell Prelude Documentation sobre
length: Haskell Prelude - length - Optimización con
Data.Text: Data.Text - Uso de
foldr: Haskell Foldr