【Ruby入門】Rubyのヒアドキュメントの使い方

今回はRubyのヒアドキュメントの使い方を解説します。

ヒアドキュメント

ヒアドキュメントとは、行を区切りとする文字列リテラルのことです。

識別子「<<」を使って文字列を区切ります。

実際にコードを書いてみたほうがわかりやすいので、書いてみましょう。

書き方は、識別子「<<」の後に文字列リテラルを区切るための識別子となる文字列(ここではmilkmanが識別子)を書きます。

実行結果は以下のようになります。

上記の例では、<<milkman〜milkmanまでの記述を、文字列リテラルとみなしています。

上記の例は以下の書き方と意味は同じとなります。

意味は同じですが、この書き方だと読みづらく、後でメンテナンスがしにくくなります。

改行を含む長い文字列を表記する際はヒアドキュメントを使ってみましょう。

インデント

識別子「<<」でヒアドキュメントを書く際、この書き方だとインデントが調整できません。

この識別子を使った場合、必ず、区切りの文字列を書いた行が必要となります。このとき区切りの文字列の前に空白があってはなりません。

識別子「<<」と区切りの文字列の間に「-」を書き込むとインデントがあっても認識されるようになります。

if文やdef式、classなどを書き込む際、インデントができないと非常に読みにくくなります。

「<<-」を使うと綺麗にコードが書けるようになるので、試してみてください。

式展開

ヒアドキュメントを使う際の式展開には注意点があります。

以下の例を見てみましょう。

実行結果は以下のようになります。

この結果からわかるように、<<'milkman'のときだけ式展開ができていません。

式展開を行う際は注意しましょう。


Welcome to UX MILK

UX MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。

このサイトについて

UX MILKのディレクター募集