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:
13
Aná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