Ruby のヒアドキュメントの文字列を操作する

例えば、ヒアドキュメントから末尾の改行コードを取り除く場合、

str = <<EOS
homu
mami
mado
EOS

p str.chomp
# => "homu\nmami\nmado"

こんな感じに一時的に変数に代入して操作するしか無いと思ってました。

開始ラベルをレシーバとしてメソッドを呼び出す

開始ラベルをレシーバとしてメソッドを呼び出すことで、定義したヒアドキュメントを直接操作する事ができます。

p <<EOS.chomp
homu
mami
mado
EOS
# => "homu\nmami\nmado"

ヒアドキュメント使う度に一時変数使ってたけどこんな便利な機能が…。