広告スペース(バナー)
💎Ruby レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向7▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 46 / 68
複数行文字列(ヒアドキュメント)
このレッスンでは、Rubyのヒアドキュメントを使った複数行文字列の書き方を学び、読みやすい形でメッセージを組み立てられるようになることを目標にします。「Ruby ヒアドキュメント 使い方」で調べている方向けです。
<<~EOT ... EOTという書き方(ヒアドキュメント)を使うと、改行をそのまま含んだ複数行の文字列を書けます。~を付けると、余分なインデントも自動で取り除いてくれます。
サンプルコードでは、<<~EOTから始まりEOTで終わる範囲の中に、#{name}という形で変数を埋め込んだ複数行のメッセージを組み立てています。コードのインデントに合わせて字下げして書いても、余分な空白が自動的に取り除かれる点に注目してみましょう。
初心者がよくつまずくのが、<<EOT(チルダなし)と<<~EOT(チルダあり)の違いです。チルダなしの場合はインデントがそのまま文字列に含まれてしまいますが、チルダありだと自動的に取り除かれます。この違いを知らないと、意図しない余白が出力に含まれてしまいます。
余分なインデントを気にせず自然な見た目の文章を書けるのが、~を使うヒアドキュメントの便利な点です。文字列補間#{}と組み合わせることで、変数を埋め込んだ複数行のメッセージも簡潔に書けます。
📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください
🧪 このサイトではRubyを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。
🎯
ここまでできればゴール達成!
メール本文のような、複数行にわたるテンプレート文章が作れるようになります。
メール本文のような、複数行にわたるテンプレート文章が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)