概要
String#indent
詳細
String#indent について
String#indent
テキストをインデントしてくれる。
内部のインデント形式に合わせてスペースインデントやタブインデントを行ってくれる。
インデント形式を明示的に指定することも可能。
サンプル
# encoding: utf-8 require 'active_support/core_ext/string/indent' def get_space_hoge space_hoge = <<-EOS.indent(2) ほげ1 ひげ1 はげ1 はげ2 ひげ2 ほげ2 EOS end def get_tab_hoge space_hoge = <<-EOS.indent(2) ほげ1 ひげ1 はげ1 はげ2 ひげ2 ほげ2 EOS end def get_space_hige(format) space_hoge = <<-EOS.indent(2, format) ほげ1 ひげ1 はげ1 はげ2 ひげ2 ほげ2 EOS end puts get_space_hoge puts get_tab_hoge puts get_space_hige("@") str = "hoge\n\thoge\n\t\thoge" puts str.indent(1) puts str.indent(1, "@") puts str # imutable版のindentは元の文字列を変更しない puts str.indent!(1, "@") puts str # mutable版のindentは元の文字列を変更する
出力
ほげ1
ひげ1
はげ1
はげ2
ひげ2
ほげ2
ほげ1
ひげ1
はげ1
はげ2
ひげ2
ほげ2
@@ほげ1
@@ ひげ1
@@ はげ1
@@ はげ2
@@ ひげ2
@@ほげ2
hoge
hoge
hoge
@hoge
@ hoge
@ hoge
hoge
hoge
hoge
@hoge
@ hoge
@ hoge
@hoge
@ hoge
@ hoge