相关疑难解决方法(0)

为什么在没有花括号的情况下,字符串插值在Ruby中工作?

在Ruby中使用字符串插值的正确方法如下:

name = "Ned Stark"
puts "Hello there, #{name}" #=> "Hello there, Ned Stark"
Run Code Online (Sandbox Code Playgroud)

这就是我打算一直使用它的方式.

但是,我注意到Ruby的字符串插值有些奇怪.我注意到字符串插值在Ruby中没有关于实例变量的花括号.例如:

@name = "Ned Stark"
puts "Hello there, #@name" #=> "Hello there, Ned Stark"
Run Code Online (Sandbox Code Playgroud)

尝试与非实例变量相同的东西不起作用.

name = "Ned Stark"
puts "Hello, there, #name" #=> "Hello there, #name"
Run Code Online (Sandbox Code Playgroud)

我在1.9.2和1.8.7中都尝试过这一点.

为什么这样做?口译员在这做什么?

ruby string-interpolation

84
推荐指数
1
解决办法
3万
查看次数

标签 统计

ruby ×1

string-interpolation ×1