日常

ケ・セラ・セラ

Ruby インデント的見やすさを保ちつつヒアドキュメント

たとえばこう書くと、こうなってしまう。

[34] 2.2.1-p85(main)> a = <<-EOS
[34] 2.2.1-p85(main)*   AAAAABBBBBCCCCC DDDDD
[34] 2.2.1-p85(main)*   EEEEE FFFFF GGGGG
[34] 2.2.1-p85(main)*
[34] 2.2.1-p85(main)*   HHHHH IIIII JJJJJ
[34] 2.2.1-p85(main)* EOS
=> "  AAAAABBBBBCCCCC DDDDD\n  EEEEE FFFFF GGGGG\n  \n  HHHHH IIIII JJJJJ\n"
[35] 2.2.1-p85(main)> print a
  AAAAABBBBBCCCCC DDDDD
    EEEEE FFFFF GGGGG

      HHHHH IIIII JJJJJ

たとえばこう書くと、こんな感じになる。

[40] 2.2.1-p85(main)> a = <<-EOS.gsub(/^\s+/, "")
[40] 2.2.1-p85(main)*   AAAAABBBBBCCCCC DDDDD
[40] 2.2.1-p85(main)*   EEEEE FFFFF GGGGG
[40] 2.2.1-p85(main)*
[40] 2.2.1-p85(main)*   HHHHH IIIII JJJJJ
[40] 2.2.1-p85(main)* EOS
=> "AAAAABBBBBCCCCC DDDDD\nEEEEE FFFFF GGGGG\nHHHHH IIIII JJJJJ\n"
[41] 2.2.1-p85(main)> print a
AAAAABBBBBCCCCC DDDDD
EEEEE FFFFF GGGGG
HHHHH IIIII JJJJJ

それだけ。