Ruby中#{}的含义?

操作#{ }似乎是如此根本,以至于我的Ruby书完全忽略了它的定义。 有人可以提供解释吗?

为什么这是一个好问题

除非您知道正确的搜索字词,否则这对谷歌来说是一个棘手的问题。 #{}运算符在技术上在字符串文字内执行表达式替换

答案

#{}文字是用于在双引号字符串内插值的运算符,与在Bash中使用反引号或$()构造的方式相同。 从实际的角度来看,文本中的表达式被计算,然后整个#{}表达式(包括运算符和它包含的表达式) 在原位替换为结果。

相关链接

它允许您将Ruby代码放在字符串中。 所以:

 "three plus three is #{3+3}" 

输出:

“三加三是6”

它通常用于将变量值插入字符串,而不必乱用字符串连接:

 "Your username is #{user}" 

它是字符串插值运算符,您可以使用它将表达式插入到字符串中。 你的字符串需要嵌入“让这个神奇的工作,没有。它比字符串连接更快更好。

 var = "variable" "this is a string with a #{var} in" => "this is a string with a variable in"