Zeichenketten interpolieren

Elixir:
Zeichenketten interpolieren

How to:

Elixir macht das Verwenden von String-Interpolation leicht mit dem #{} Mechanismus. Hier ein paar Beispiele:

name = "Welt"
greeting = "Hallo, #{name}!"
IO.puts greeting
# Ausgabe: Hallo, Welt!

age = 28
message = "Ich bin #{age} Jahre alt."
IO.puts message
# Ausgabe: Ich bin 28 Jahre alt.

price = 49.99
formatted_price = "Der Preis beträgt #{price} Euro."
IO.puts formatted_price
# Ausgabe: Der Preis beträgt 49.99 Euro.

Deep Dive

Elixir verwendet die String-Interpolation schon seit seiner frühen Entwicklung. Es wird von der Erlang VM unterstützt, auf der Elixir läuft, was es sehr effizient macht. Im Vergleich zu anderen Methoden zum Zusammenfügen von Strings (z.B. durch Verwendung des ++ Operators oder der String.concat/2-Funktion) bietet die String-Interpolation den Vorteil, dass sie lesbarer und meist performanter ist. Unter der Haube wandelt der Elixir-Compiler interpolierte Strings in effiziente Binär-Operationen um, was schnelle Ausführungszeiten gewährleistet.

Alternativen zur String-Interpolation wären:

# Mit String.concat
IO.puts String.concat("Hallo, ", name)

# Mit dem ++ Operator
IO.puts "Hallo, " ++ name

Diese sind aber weniger intuitiv und können insbesondere bei der Verkettung vieler oder komplexer Ausdrücke unübersichtlich werden.

See Also