0

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

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

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

4

3 回答 3

4

使用 %Q{command} 如下:

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

 puts %Q{"Hello" 'xyz'} => "Hello" 'xyz'
于 2013-01-11T16:12:09.980 回答
2

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

puts "I say \"Hello\""
# >> I say "Hello"
于 2013-01-11T16:10:21.137 回答
0
puts %Q(I say "Hello", you say #{goodbye})
于 2013-01-11T16:13:18.430 回答