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.