Elm:
Zeichenketten interpolieren
How to:
Elm hat keine eingebaute String-Interpolation wie du es von JavaScript vielleicht kennst. Stattdessen nutzt man Funktionen wie String.concat
oder ++
Operator.
name = "Welt"
greeting = "Hallo, " ++ name ++ "!"
-- Ausgabe: "Hallo, Welt!"
Für komplexere Situationen kannst du String.join
oder List.map
mit ++
kombinieren:
import List exposing (map, join)
nameList = [ "Alice", "Bob", "Charlie" ]
greetings = map (\name -> "Hallo, " ++ name ++ "!") nameList
joinedGreetings = join " " greetings
-- Ausgabe: "Hallo, Alice! Hallo, Bob! Hallo, Charlie!"
Deep Dive
In Elm ist String-Interpolation nicht direkt eingebaut, weil die Sprache auf Einfachheit und Zuverlässigkeit setzt. In JavaScript kannst du `Hallo, ${name}!`
schreiben, aber in Elm musst du explizite Funktionen verwenden. Früher gab es in anderen Sprachen oft Probleme mit der direkten Interpolation, wie sie etwa zu SQL-Injection führen könnte. Elm’s Ansatz vermeidet solche Sicherheitslücken von vornherein.
Alternativen zu ++
könnten eigene Hilfsfunktionen sein, die du für wiederkehrende Muster baust:
hello name = "Hallo, " ++ name ++ "!"
goodbye name = "Auf Wiedersehen, " ++ name ++ "!"
-- Verwendung
greeting = hello "Welt"
farewell = goodbye "Freund"
-- Ausgaben
-- greeting: "Hallo, Welt!"
-- farewell: "Auf Wiedersehen, Freund!"
See Also
- Elm Language Documentation: Elm Lang Strings
- Gemeinschafts-Beiträge und Tipps: Elm Discourse
- Praktische String-Funktionen: Elm String Extra