打印“#{x}”并打印x

时间:2013-03-25 17:37:38

标签: ruby

在ruby中,我习惯以这种方式打印变量:

x = "anything"
print x

但我见过很多教程都是这样做的:

x = "anything"
print "#{x}"

那么有什么不同,为什么我们使用它。

3 个答案:

答案 0 :(得分:3)

这称为字符串插值。请按照link了解详情。

基本上,在将字符串模板和变量组合在一起时,这是一种更方便的方法。

答案 1 :(得分:3)

#{X}语法正在使用String Interpolation,这意味着它将评估#{}之间的表达式。如果您希望String包含变量和固定部分,这非常有用,如下所示:

result = "19"
p "The result is #{result}"

请注意,这仅适用于双引号,而不是单引号。

答案 2 :(得分:0)

以下代码希望能让您快速了解print "#{}"的使用情况。

print class X;def show;p "hi";end;end;X.new.show
"hi"
#=> "hi"
print "#{class X;def show;p "hi";end;end;X.new.show}"
#"hi"
#hi=> nil