複数行の長い文字列を作成する場合にはヒアドキュメントを使用することができる。
書式は以下の通り。
<<"識別子"
文字列
文字列
文字列
最終行
識別子
ルール
- 識別子をダブルクオーテーションで囲んだ場合は文字列をダブルクオーテーションで囲んだ場合と同じ
- シングルクオーテーションで囲んだ場合は文字列をシングルクオーテーションで囲んだ場合と同じ
- 単に識別子が記述された場合は、ダブルクオーテーションで囲んだ場合と同じ
- 「<<"識別子"」の代わりに「<<-"識別子"」を使うと最後の識別子の前に空白やタブを記述することが可能
識別子には任意の文字列を指定できるが、「EOS」などがよく使われているらしい。(EOS=End of String)
こんな感じ。
<<"EOS"
hello, world!
hello, ruby!
hello, ruby on rails!
EOS
変数に入れることもできる。
str = <<-EOS
hello, world!
hello, ruby!
hello, rails!
EOS
p str #=>"hello, world!\nhello, ruby!\nhello, rails!\n"