2013-01-11 35 views
0

我正在构建一个字符串,该字符串将用作通过SSH在Windows上运行的命令。单引号字符串的内联插值

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

所以有没有办法,我仍然可以使用单引号字符串的内联插值?

回答

4

使用%Q {}命令如下:

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

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

我** **知道有除了here文档的东西。 :) –

2

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

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