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)
- Die offizielle Ruby-Dokumentation zur String-Interpolation: Ruby Docs: String
- Ein Ruby Tutorial zu Strings und Interpolation: RubyLearning.com
- Mehr zu
sprintf
undformat
: Kernel::sprintf