ヒアドキュメント (行指向文字列リテラル)

Rubyリファレンスマニュアル - リテラル

<<識別子' を含む行の次の行から `識別子' だけの行の直前までを文字列とする。

ヒアドキュメントでは、開始ラベル `<<識別子' が文法要素としての式にあたります。これは、開始ラベルを使ってヒアドキュメント全体を引数に渡したりレシーバにしたりすることができるということを意味します。

開始ラベルを `<<-識別子' のように `-' を付けて書くことで終端行をインデントすることができます。

一行に複数のヒアドキュメントを書くこともできます。

開始ラベル `<<識別子' の `識別子' を(""、''、``)のいずれかで囲むことで、ヒアドキュメントとなる文字列リテラルの性質は対応する文字列リテラルと同じ扱いになります。