Haskell:
Mettre en majuscule une chaîne

Comment faire :

En Haskell, vous pouvez mettre une chaîne en capitale en utilisant la bibliothèque standard sans avoir besoin de bibliothèques tierces.

import Data.Char (toUpper, toLower)

capitalize :: String -> String
capitalize "" = ""
capitalize (head:tail) = toUpper head : map toLower tail

-- Exemple d'utilisation :
main = putStrLn $ capitalize "hello world"

Sortie :

Hello world

Pour des scénarios plus complexes ou pour plus de facilité d’usage, vous pourriez vouloir utiliser une bibliothèque tierce comme text, qui est populaire pour la manipulation efficace de chaînes de caractères en Haskell.

D’abord, vous devez ajouter text aux dépendances de votre projet. Ensuite, vous pouvez utiliser ses fonctions pour mettre en capitale une chaîne de caractères comme suit :

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)

-- Exemple d'utilisation avec la bibliothèque text :
main = putStrLn $ T.unpack $ capitalizeText (T.pack "hello world")

Sortie :

Hello world

Ces deux exemples montrent des moyens simples mais efficaces de mettre une chaîne en capitale en Haskell, avec ou sans bibliothèques tierces.