約束の地

キャロの想い出

Ruby の 波(チルダ)を使ったヒアドキュメントは「全ての行のインデントのうち、一番少ないインデント分を、全ての行において削除したテキスト」となる

結論

Ruby でチルダを使ったヒアドキュメントは、「全ての行のインデントのうち、一番少ないインデント分を、全ての行において削除したテキスト」となる。

実例

コード例 その1

コードが以下のようになっているとします。

def here_document_01
  <<~HDOC
    ヒアドキュメントの一行目です。
      ヒアドキュメントの二行目です。
        ヒアドキュメントの三行目です。
          Ruby 2.3 以降の機能です。
  HDOC
end

puts here_document_01

結果例

上記のコードの実行結果は次のようになります。

ヒアドキュメントの一行目です。
  ヒアドキュメントの二行目です。
    ヒアドキュメントの三行目です。
      Ruby 2.3 以降の機能です。

コード例 その2

コードが以下のようになっているとします。

def here_document_02
  <<~HDOC
          ヒアドキュメントの一行目です。
        ヒアドキュメントの二行目です。
      ヒアドキュメントの三行目です。
    Ruby 2.3 以降の機能です。
  HDOC
end

puts here_document_02

結果例

上記のコードの実行結果は次のようになります。

      ヒアドキュメントの一行目です。
    ヒアドキュメントの二行目です。
  ヒアドキュメントの三行目です。
Ruby 2.3 以降の機能です。

コード例 その3

コードが以下のようになっているとします。

def here_document_03
  <<~HDOC
          ヒアドキュメントの一行目です。
    ヒアドキュメントの二行目です。
        ヒアドキュメントの三行目です。
      Ruby 2.3 以降の機能です。
  HDOC
end

puts here_document_03

結果例

上記のコードの実行結果は次のようになります。

      ヒアドキュメントの一行目です。
ヒアドキュメントの二行目です。
    ヒアドキュメントの三行目です。
  Ruby 2.3 以降の機能です。
Powered by はてなブログ