Этот синтаксис предназначен для объявления ЗДЕСЬ ДОКУМЕНТА http://www.ruby -doc.org / docs / ruby-doc-bundle / Manual / man-1.4 / syntax.html # here_doc
Существует строковая форма строковых литералов, которая обычно называется «здесь документ».После << вы можете указать строку или идентификатор для завершения строкового литерала, и все строки, следующие за текущей строкой до терминатора, являются значением строки.Если терминатор заключен в кавычки, тип кавычек определяет тип строкового литерала, ориентированного на строку.Обратите внимание, что между << и терминатором не должно быть пробела. </p>
Если - - ставится перед разделителем, то все начальные символы whitespcae (табуляции или пробелы) удаляются из строк ввода и строки, содержащей разделитель.Это позволяет вставлять здесь документы внутри скриптов естественным образом.
Относительно интерполяции ссылка дает больше деталей, но она похожа на строку в двойных кавычках, если ваша строка разделена, как показано ниже (игнорироватьцветовое форматирование этой страницы)
<<-HERE
I can interpolate #{foo}
HERE
тогда как она похожа на строку в одинарных кавычках
<<-'HERE'
This will print out #{foo} as text
HERE
Также оригинальная кирка является хорошим источником http://www.ruby -doc.org /документы / ProgrammingRuby / html / language.html