操作符
#{ }
似乎非常基础,以至于我的Ruby书完全跳过了它的定义。能否有人提供一下解释?如果你不知道正确的搜索术语,那么这是一个难以在 Google 中搜索到的问题。#{ } 操作符在字符串字面量中执行表达式替换。
#{ } 字面量是用于双引号字符串内插值的操作符,就像反引号或 $() 构造在 Bash 中使用一样。从实际角度来看,字面量内的表达式将被计算,然后整个 #{ } 表达式(包括操作符和它所包含的表达式)将被替换为结果。
它允许您在字符串中嵌入Ruby代码。因此:
"three plus three is #{3+3}"
会输出:
"three plus three is 6"
这通常用于将变量值插入字符串中,而无需操纵字符串连接:
"Your username is #{user}"
这是字符串插值运算符,您可以使用它将表达式插入到字符串中。 为了让这个魔法生效,您的字符串需要嵌入在双引号中,不能使用单引号。 它比字符串连接方法更快更好。
var = "variable"
"this is a string with a #{var} in" => "this is a string with a variable in"
%Q{...}
字符串、heredoc字符串、%W{...}
数组、反引号命令、%x{...}
命令和正则表达式字面量中使用。 - d11wtq