在ruby中,我习惯以这种方式打印变量:
x = "anything"
print x
但我见过很多教程都是这样做的:
x = "anything"
print "#{x}"
那么有什么不同,为什么我们使用它。
答案 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