Sammanslagning av strängar

Haskell:
Sammanslagning av strängar

Så gör du:

I Haskell kan du konkatenera strängar med flera tekniker. Här är några exempel:

-- Använda (++) operatorn
main :: IO ()
main = do
    let hello = "Hej, "
    let world = "världen!"
    putStrLn (hello ++ world)

Output: Hej, världen!

Eller för att sammanfoga en lista med strängar:

main :: IO ()
main = do
    let words = ["Haskell", " ", "är", " ", "kul!"]
    putStrLn (concat words)

Output: Haskell är kul!

Och för mycket stora strängar eller när prestanda är viktig, använd Data.Text:

import qualified Data.Text as T

main :: IO ()
main = do
    let hello = T.pack "Hej, "
    let world = T.pack "världen!"
    T.putStrLn (T.append hello world)

Output: Hej, världen!

Djupdykning

Konkatenering härstammar från latinets “concatenare”, vilket betyder att länka ihop. I tidiga programmeringsspråk var stringhantering en komplex process. Haskell, infört på 1990-talet, förenklade detta med sin rena syntaktiska stil.

Alternativ till konkatenering inkluderar intercalate, som sätter ihop element i en lista med ett givet skiljetecken, och Data.Text biblioteket som erbjuder en mer effektiv hantering för stora textmassor genom minnesbesparande strukturer och “lazy” utvärdering.

I Haskell utförs konkatenering med hjälp av den lata utvärderingsmodellen, vilket betyder att beräkningar sker endast när det är nödvändigt, vilket kan vara mer effektivt än i strikta språk.

Se även: