Merkkijonon pituuden selvittäminen

Haskell:
Merkkijonon pituuden selvittäminen

How to:

Haskellissa merkkijonon pituuden löytäminen on suoraviivaista. Käytä length-funktiota.

main :: IO ()
main = do
    let tervehdys = "Hei maailma!"
    print (length tervehdys) -- Tulostaa merkkijonon pituuden

Koodin ajaminen tulostaa 12, koska “Hei maailma!” on 12 merkin pituinen.

Deep Dive

Alun perin, Haskellin length-funktio oli osa standardikirjastoa. Se laskee listan alkiot, ja merkkijono Haskellissa on merkkilista.

Vaihtoehtoina, voit käyttää Data.Text-kirjastoa, joka tarjoaa tehokkaampia työkaluja tekstinkäsittelyyn.

Data.Text.length on suorituskyvyltään parempi suurien merkkijonojen kanssa:

import qualified Data.Text as T
import qualified Data.Text.IO as TIO

main :: IO ()
main = do
    let tervehdys = T.pack "Hei maailma!"
    print (T.length tervehdys)

Toteutukseltaan, length on rekursiivinen funktio. Se käy läpi listan, laskien yhden jokaisesta alkioista, kunnes lista on tyhjä. Suurien listojen kanssa tämä voi olla tehotonta, mikä selittää Data.Text-kirjaston suosion.

See Also