Ruby中#{}的含义?

时间:2012-06-03 09:40:01

标签: ruby string

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

3 个答案:

答案 0 :(得分:35)

为什么这是一个好问题

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

答案

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

相关链接

答案 1 :(得分:8)

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

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

输出:

  

“三加三是6”

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

"Your username is #{user}"

答案 2 :(得分:5)

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

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