Встроенная интерполяция строки в одинарных кавычках
Я строю строку, которая будет использоваться в качестве команды для запуска на Windows-боксе через SSH.
Команда должна быть выполнена с элементами, заключенными в двойные кавычки, поэтому мне нужно заключить команду в одинарные кавычки. Однако это означает, что я теряю возможность использовать встроенную интерполяцию.
Так есть ли способ, которым я все еще могу использовать встроенную интерполяцию для строки в одинарных кавычках?
3 ответа
Решение
Используйте%Q{command} следующим образом:
puts %Q{Hello "xyz"} => Hello "xyz"
puts %Q{"Hello" 'xyz'} => "Hello" 'xyz'
Нет, вы не можете использовать интерполяцию со строкой в одинарных кавычках. Вместо этого вы можете избежать двойных кавычек.
puts "I say \"Hello\""
# >> I say "Hello"