Ruby で複数のヒアドキュメントを記述する

次のようにして複数のヒアドキュメントを記述する事ができます。

def join *args
    p args
    args.join
end

p join(<<EOS1, <<EOS2, <<EOS3)
homu
mami
EOS1
mado
EOS2
saya
an
EOS3
# => ["homu\nmami\n", "mado\n", "saya\nan\n"]
# "homu\nmami\nmado\nsaya\nan\n"

2個目のヒアドキュメントは1個目の終了ラベル以降が反映されるみたい。
やっぱりキモい。

[参照]

http://www.xmisao.com/2014/08/25/ruby-four-patterns-of-here-document.html