Zeichenketten interpolieren

Ruby:
Zeichenketten interpolieren

How to: (Wie geht das:)

name = "Welt"
greeting = "Hallo #{name}!" # String-Interpolation mit #{...}
puts greeting # Ausgabe: Hallo Welt!

age = 25
message = "Ich bin #{age} Jahre alt." # Integers funktionieren auch
puts message # Ausgabe: Ich bin 25 Jahre alt.

price = 4.5
item = "Kaffee"
receipt = "Ein #{item} kostet #{'%.2f' % price} Euro." # Formatierung
puts receipt # Ausgabe: Ein Kaffee kostet 4.50 Euro.

Deep Dive (Tiefer eintauchen)

Die String-Interpolation in Ruby existiert seit den ersten Versionen und ist eine verbreitete Methode, um Strings zu bearbeiten. Historisch setzte man häufig die sprintf-Methode oder deren Alias format ein, die nach wie vor gültige Alternativen sind.

# Alternative Methode mit `sprintf`
formatted_string = sprintf("Hello %s!", name)
puts formatted_string # Ausgabe: Hello Welt!

# Alternative Methode mit `format`
formatted_string = format("Kosten: %0.2f Euro", price)
puts formatted_string # Ausgabe: Kosten: 4.50 Euro

Es ist zu beachten, dass nur innerhalb doppelter Anführungszeichen ("") oder Backticks (`) String-Interpolation möglich ist. Einfache Anführungszeichen (’’) interpretieren #{…} als normalen Text.

Die Interpolation ruft automatisch die to_s-Methode der Variable auf, wodurch fast jeder Objekttyp eingefügt werden kann. Im Falle von Objekten kann man diese Methode überschreiben, um die Ausgabe anzupassen.

See Also (Siehe auch)