2013-01-11 36 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})