Haskell:
Merkkijonon muuttaminen isoiksi kirjaimiksi
Miten:
Haskellissa voit pääomanlisoida merkkijonon käyttämällä standardikirjastoa ilman, että tarvitset kolmannen osapuolen kirjastoja.
import Data.Char (toUpper, toLower)
capitalize :: String -> String
capitalize "" = ""
capitalize (head:tail) = toUpper head : map toLower tail
-- Esimerkki käytöstä:
main = putStrLn $ capitalize "hello world"
Tuloste:
Hello world
Monimutkaisemmissa skenaarioissa tai käytön helpottamiseksi saattaisit haluta käyttää kolmannen osapuolen kirjastoa, kuten text
, joka on suosittu tehokkaaseen merkkijonon käsittelyyn Haskellissa.
Ensin sinun täytyy lisätä text
projektisi riippuvuuksiin. Sen jälkeen voit käyttää sen funktioita pääomanlisoimaan merkkijonon seuraavasti:
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)
-- Esimerkki käytöstä text-kirjaston kanssa:
main = putStrLn $ T.unpack $ capitalizeText (T.pack "hello world")
Tuloste:
Hello world
Molemmat näistä esimerkeistä osoittavat yksinkertaisia, mutta tehokkaita tapoja pääomanlisoida merkkijono Haskellissa, kolmannen osapuolen kirjastojen kanssa tai ilman.