我正在构建一个字符串,用作通过SSH在Windows上运行的命令。
该命令必须用双引号括起来的元素执行,所以我必须将命令作为一个整体用单引号括起来。但是这意味着我失去了使用内联插值的能力。
那么有没有办法可以在单引号字符串上使用内联插值?
答案 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})