Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Javaプログラマーが学ぶRuby基礎/Rubyの文字列/ヒアドキュメント

概要

Rubyの文字列について引き続き説明します。
※前編はこちら Javaプログラマーが学ぶRuby基礎/Rubyの文字列2(http://d.hatena.ne.jp/tbpg/20120201/1328113110

ヒアドキュメント

長い文字列を設定する場合に以下のような書式で書くことが可能です。

<<"識別子"
文章start


文章end
識別子

識別子にはEOS(End of String)などを設定するのが一般的なようです。

例えば文字列変数strに複数行の文字列を設定する場合
str = <<"EOS"
1line
2line
3line
EOS
puts(str)
出力結果
1line
2line
3line
識別子を変えた例
puts(<<"I love ruby")
一行目
二行目
三行目
I love ruby
出力結果
一行目
二行目
三行目
インデント付きヒアドキュメント

<<を<<-にすることにより、終了時の識別子をインデントすることができます。

def hoge
  hage = <<-EOS
  ほげ
  はげ
  ひげ
  EOS
  puts hage
end

hoge

出力

  ほげ
  はげ
  ひげ