Когда я пытаюсь интерполировать одну многострочную строку в другую, я получаю неправильный отступ, потому что только первая строка подстроки имеет правильный отступ, например:
substring = <<-STRING.strip_heredoc
first line
second line
STRING
string = <<-STRING.strip_heredoc
Quote
#{ substring }
from substring
STRING
Результат будет следующим:
Quote
first line
second line
from substring
В то время как желаемый
Quote
first line
second line
from substring
Мой вопрос почти такой же, как и в этом вопросе о perl и xml, или это об erb, но немного более общее.
Учитывая тот факт, что интерполяция может быть полезна не только для генерации любого SGML (XML, HTML или ERB), но и для SQL и других языков...
Есть ли какой-либо способ, метод или обычная практика для интерполяции многострочной строки с правильным отступом?
Если нет возможности, какой инструмент вы бы порекомендовали для постобработки разных языков (например, HTML, SQL)
Обновлять:
Функция Ruby 2.3 <<~
, которая является аналогом strip_heredoc
, по-прежнему (и очевидно) добавляет отступ только к первой строке подстроки.