Haskell:
Capitalizando uma string
Como fazer:
Em Haskell, você pode capitalizar uma string usando a biblioteca padrão sem a necessidade de quaisquer bibliotecas de terceiros.
import Data.Char (toUpper, toLower)
capitalize :: String -> String
capitalize "" = ""
capitalize (head:tail) = toUpper head : map toLower tail
-- Uso de exemplo:
main = putStrLn $ capitalize "hello world"
Saída:
Hello world
Para cenários mais complexos ou facilidade de uso, você pode querer usar uma biblioteca de terceiros, como text
, que é popular para manipulação eficiente de strings em Haskell.
Primeiro, você precisa adicionar text
às dependências do seu projeto. Então, você pode usar suas funções para capitalizar uma string da seguinte forma:
import qualified Data.Text as T
import Data.Char (toUpper)
capitalizeText :: T.Text -> T.Text
capitalizeText text = case T.uncons text of
Nothing -> T.empty
Just (first, rest) -> T.cons (toUpper first) (T.toLower rest)
-- Uso de exemplo com a biblioteca text:
main = putStrLn $ T.unpack $ capitalizeText (T.pack "hello world")
Saída:
Hello world
Ambos estes exemplos demonstram formas simples, porém efetivas, de capitalizar uma string em Haskell, com ou sem bibliotecas de terceiros.