アウトプットの部屋

エンジニアになるためのアウトプット

rubyのヒアドキュメントについて

ヒアドキュメントとは、まとまった文字列(テキスト)を書く時の手法のことです。「<<」を使って書きます。短い文章ならあまり必要ないですが、長い文章を書く時はヒアドキュメントを使うと良いでしょう。

puts <<TEXT
hoge
fuga
TEXT

結果

hoge
fuga

「<<-」と書くと、最後の識別子をインテンドさせることができます。(「-」を書かないでインテンドすると、普通の文字列と勘違いされ最後の識別子がないと判断される。またインテンドしなくても最後の識別子として認識される

puts <<-TEXT
  hoge
  fuga
  TEXT

結果

 hoge
 fuga

「<<~」と書くと、内部のインテンドは無視されて出力されます

また、最初の識別子を

1.何も囲まない

2.ダブルクォーテーションで囲む

のどちらかをすると変数展開されます。逆にシングルクォーテーションで囲むと変数展開されません。

また最後の識別子をシングルクォーテーションやダブルクォーテーションで囲むと、最後の識別子と判定されず「文字列」として判断されます。

puts <<-TEXT
  hoge
  fuga
  'TEXT'
  "TEXT"
  TEXT

結果

  hoge
  fuga
  'TEXT'
  "TEXT"

'TEXT'や"TEXT"は文字列になってしまうので注意ですね。