Ruby:
Interpolazione di una stringa
How to: (Come Fare)
nome = "Luca"
saluto = "Ciao, #{nome}! Come stai?"
puts saluto # => Ciao, Luca! Come stai?
Un altro esempio, con espressioni matematiche:
somma = 2 + 3
messaggio = "Il risultato di 2 + 3 è #{somma}"
puts messaggio # => Il risultato di 2 + 3 è 5
Deep Dive (Approfondimento)
L’interpolazione delle stringhe esiste sin da Ruby 1.8 e persiste come una delle caratteristiche più apprezzate. A differenza della concatenazione, che unisce stringhe e variabili con il +
, l’interpolazione è più leggibile e performante perché avviene al momento della creazione della stringa. Invece di scrivere "Ciao, " + nome + "!"
, puoi semplicemente usare "Ciao, #{nome}!"
.
In altre lingue, come Python o PHP, l’interpolazione si fa diversamente o ha sintassi differenti. In Ruby, si usa #{...}
all’interno di stringhe delimitate da doppie virgolette. Attenzione: con virgolette singole, non funziona.
Internamente, Ruby chiama il metodo .to_s
sull’espressione dentro #{...}
. Ciò significa che qualunque oggetto può essere interpolato, a patto che risponda a .to_s
. Ad esempio, se un oggetto non ha un metodo .to_s
appropriato, Ruby usa la rappresentazione standard che generalmente include l’indirizzo in memoria dell’oggetto.
See Also (Vedi Anche)
- Documentazione ufficiale di Ruby sulla sintassi letterale delle stringhe
- Ruby-Doc.org per metodi specifici di String in Ruby
- Ruby Style Guide su GitHub per consigli di stile nelle interpolazioni e altre pratiche di codifica in Ruby