Interpolazione di una stringa

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)