Haskell:
Descobrindo o comprimento de uma string
How to:
O Haskell possui uma função integrada chamada length que retorna o comprimento de uma lista, incluindo strings que, em Haskell, são listas de caracteres. Veja só:
main :: IO ()
main = do
let minhaString = "Olá, Haskell!"
print $ length minhaStringSaída esperada:
13Deep Dive
Historicamente, em Haskell, a função length é parte do Prelude, um módulo importado por padrão. A length funciona contando cada elemento em uma estrutura de dados até que todos sejam contabilizados.
Existem alternativas. Por exemplo, você pode usar recursão para criar sua própria função de comprimento:
comprimento :: [a] -> Int
comprimento [] = 0
comprimento (_:xs) = 1 + comprimento xsHá também um pacote chamado Data.Text para trabalhar com texto Unicode de maneira mais eficiente do que com Strings clássicas. Em Data.Text, você usaria a função length do mesmo jeito, mas ela seria mais performática.
import qualified Data.Text as T
main :: IO ()
main = do
let minhaString = T.pack "Olá, Haskell!"
print $ T.length minhaStringSee Also
Para explorar mais, confira:
- Haskell Documentation for Lists
- Data.Text package on Hackage
- Learn You a Haskell for Great Good! - Um guia introdutório para Haskell com uma abordagem divertida.