在Ruby中使用字符串插值的正确方法如下:
name = "Ned Stark"
puts "Hello there, #{name}" #=> "Hello there, Ned Stark"
这就是我打算一直使用它的方式。
但是,我注意到Ruby的字符串插值有些奇怪。我已经注意到,字符串插值在Ruby中工作,而实例变量没有花括号。例如:
@name = "Ned Stark"
puts "Hello there, #@name" #=> "Hello there, Ned Stark"
并且尝试与非实例变量进行相同的操作不起作用。
name = "Ned Stark"
puts "Hello, there, #name" #=> "Hello there, #name"
我已经在1.9.2和1.8.7中成功地尝试了这一点。
为什么这样做?口译员在做什么?