Я рефакторинг кода, который я не писал, и я нашел строку, которая выглядит следующим образом (это намного больше, я использовал только немного для этого примера):Преобразование Рубинового кода строки
system("rubyw -e \"require 'win32ole'; @autoit=WIN32OLE.new('AutoItX3.Control');")
для повышения удобства чтения, я переработан его
do_something =
"rubyw -e \"
require 'win32ole'
@autoit=WIN32OLE.new('AutoItX3.Control')"
system do_something
Тогда я хотел бы внести некоторые изменения, но так как код, который я сейчас работаю в строке, я теряю подсветку синтаксиса, согласование скобок и все, что хорошие вещи ,
Есть ли простой способ написать код за пределами строки, а затем преобразовать его в строку?
Я искал в Интернете и stackoverflow, но не смог найти ответ.
Для получения дополнительной информации ознакомьтесь с оригинальным кодом на bret/watir (Watir :: FileField # set, строка 445), а моя вилка на zeljkofilipin/watir (строки 447-459).
Это называется «здесь документ», или «heredoc» (http://en.wikipedia.org/wiki/Here_document) –
vim выделяет heredocs как строки. Кроме того, если вы хотите использовать многострочную строку без кавычек,% {} является более рубиновым способом сделать это – mk12