Rubyのヒアドキュメント

Rubyでヒアドキュメントを使用するときによく間違えて??となるのでメモ。

ヒアドキュメントは複数行の長い文字列を記述する場合に便利な記述方法で、C#の@と同じように利用することができます。"<<識別子~識別子"(1)までがヒアドキュメントとなるのですが、終端の識別子の前にはどのような文字列も含まれてはいけません。ここが結構うっかりしてしまうところです。

また、"<<-識別子~識別子"(2)とすることで、終端の識別子の前にスペースがあっても認識されるようになります。

1.これは正しいケース(2のケース)

2.エラーとなるケース(1のケース)

3.これだとうまくいく(1のケース)

慣れるまでは結構意味不明なエラーのように感じられるので注意が必要ですねw