ruby字符串中的{}实际上是做什么的?

ruby字符串中的{}实际上是做什么的?,ruby,string,Ruby,String,正如问题所提出的,它是否只是调用以获取嵌入表达式的返回值 像这样 "1, 2, #{1 + 2}" == "1, 2, " + 3.to_s 或者这里还有更多的事情吗?是的,它会调用来处理表达式的结果。试试看 :001> class Monkey :002> def to_s :003> "monkey" :004> end :005> end => nil :006> m = Monkey.new => monke

正如问题所提出的,它是否只是调用
以获取嵌入表达式的返回值

像这样

"1, 2, #{1 + 2}" == "1, 2, " + 3.to_s

或者这里还有更多的事情吗?

是的,它会调用
来处理表达式的结果。试试看

:001> class Monkey
:002>   def to_s
:003>     "monkey"
:004>     end
:005>   end
 => nil 
:006> m = Monkey.new
 => monkey
:007> "I am a #{m}"
 => "I am a monkey" 

它实际上只是一个占位符,“嘿,这里有一些ruby代码需要作为字符串进行求值和转换。”如果您对C风格的语言非常熟悉,这与:

printf("1, 2, %d", 1+2);