单引号字符串的内联插值

时间:2013-01-11 16:08:01

标签: ruby-on-rails ruby string quotes string-interpolation

我正在构建一个字符串,用作通过SSH在Windows上运行的命令。

该命令必须用双引号括起来的元素执行,所以我必须将命令作为一个整体用单引号括起来。但是这意味着我失去了使用内联插值的能力。

那么有没有办法可以在单引号字符串上使用内联插值?

3 个答案:

答案 0 :(得分:4)

使用%Q {command},如下所示:

 puts %Q{Hello "xyz"}  => Hello "xyz"

 puts %Q{"Hello" 'xyz'} => "Hello" 'xyz'

答案 1 :(得分:2)

不,您不能对单引号字符串使用插值。相反,你可以逃避双引号。

puts "I say \"Hello\""
# >> I say "Hello"

答案 2 :(得分:0)

puts %Q(I say "Hello", you say #{goodbye})