La bonne façon d'utiliser la chaîne de l'interpolation dans le Rubis est comme suit:
name = "Ned Stark"
puts "Hello there, #{name}" #=> "Hello there, Ned Stark"
C'est la façon que j'ai l'intention de toujours l'utiliser.
Cependant, j'ai remarqué quelque chose de bizarre dans le Rubis de la chaîne d'interpolation. J'ai remarqué que la chaîne d'interpolation fonctionne en Ruby sans les accolades en ce qui concerne les variables d'instance. Par exemple:
@name = "Ned Stark"
puts "Hello there, #@name" #=> "Hello there, Ned Stark"
Et qui tentent la même chose comme un non-variable d'instance ne fonctionne pas.
name = "Ned Stark"
puts "Hello, there, #name" #=> "Hello there, #name"
J'ai essayé avec succès dans les deux 1.9.2 et 1.8.7.
Pourquoi ce travail? Qu'est-ce que l'interprète ici?