您可以对带插值的字符串使用 ruby 百分比表示法吗?

can you use the ruby percent notation for strings with interpolation?

我在 ruby 中使用模板字符串。示例:

foo = "bar"
"let's go to the #{foo}" #=> let's go to the bar

我得到了很多其中包含特殊字符的字符串,并且偶然发现了 %q 分隔符技巧,它非常有用。

%q["I don't respect them", he said] #=> "\"I don't respect them\", he said"

不幸的是,它似乎不适用于插值。

catchphrase = 'wubba lubba dub dub'
%[My new catchphrase is "#{catchphrase}"] #=> "My new catchphrase is \"\#{catchphrase}\""

关于如何让插值和 % 符号更好地发挥作用有什么想法吗?

尝试 %Q 而不是 %q。例如:

catchphrase = 'wubba lubba dub dub'
%Q[My new catchphrase is "#{catchphrase}"] #=> "My new catchphrase is \"wubba lubba dub dub\""