読者です 読者をやめる 読者になる 読者になる

素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: すかいぷ:javascripter_  か javascripter あっと tsukkun.net skypeのほうがいいです

インデントを除去する

インデントを除去する - 素人がプログラミングを勉強するブログの、Ruby版。
ヒアドキュメントを書く時に使える。

class String
  def unindent
    gsub(/^\s{#{ scan(/^\s+/).map(&:size).min }}/, '')
  end
end

str = <<-EOS.unindent
      <html>
        <head>
          <title>Hello, world</title>
        </head>
        <body>
          <p>Hello, world!</p>
        </body>
      </html>
      EOS

puts str # => "<html>\n  <head>\n    <title>Hello, world</title>\n  </head>\n  <body>\n    <p>Hello, world!</p>\n</body>\n</html>\n"