Зробити першу літеру рядка великою

Haskell:
Зробити першу літеру рядка великою

Як це зробити:

В Haskell ви можете зробити першу літеру рядка великою, використовуючи стандартну бібліотеку, без необхідності використання сторонніх бібліотек.

import Data.Char (toUpper, toLower)

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

-- Приклад використання:
main = putStrLn $ capitalize "hello world"

Вивід:

Hello world

Для більш складних сценаріїв або для зручності можна використовувати сторонню бібліотеку, таку як text, яка є популярною для ефективної маніпуляції з рядками в Haskell.

Спочатку, вам потрібно додати text до залежностей вашого проекту. Потім ви можете використовувати його функції для того, щоб зробити першу літеру рядка великою таким чином:

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)

-- Приклад використання з бібліотекою text:
main = putStrLn $ T.unpack $ capitalizeText (T.pack "hello world")

Вивід:

Hello world

Обидва ці приклади демонструють прості, та ефективні способи зробити першу літеру рядка великою в Haskell, з використанням або без використання сторонніх бібліотек.