【发布时间】:2013-01-11 16:08:00
【问题描述】:
我正在构建一个字符串,该字符串将用作通过 SSH 在 Windows 机器上运行的命令。
该命令必须在其元素用双引号括起来的情况下执行,所以我必须将命令作为一个整体用单引号括起来。然而,这意味着我失去了使用内联插值的能力。
那么有没有办法我仍然可以在单引号字符串上使用内联插值?
【问题讨论】:
标签: ruby-on-rails ruby string quotes string-interpolation
我正在构建一个字符串,该字符串将用作通过 SSH 在 Windows 机器上运行的命令。
该命令必须在其元素用双引号括起来的情况下执行,所以我必须将命令作为一个整体用单引号括起来。然而,这意味着我失去了使用内联插值的能力。
那么有没有办法我仍然可以在单引号字符串上使用内联插值?
【问题讨论】:
标签: ruby-on-rails ruby string quotes string-interpolation
按如下方式使用 %Q{command}:
puts %Q{Hello "xyz"} => Hello "xyz"
puts %Q{"Hello" 'xyz'} => "Hello" 'xyz'
【讨论】:
不,您不能对单引号字符串使用插值。相反,您可以转义双引号。
puts "I say \"Hello\""
# >> I say "Hello"
【讨论】:
puts %Q(I say "Hello", you say #{goodbye})
【讨论】: