バリケンのRuby日記 RSSフィード

2006-06-18

[] QuickMLソースコードを読む(11) /usr/lib/ruby/1.8/quickml/utils.rbの続き  QuickMLのソースコードを読む(11) /usr/lib/ruby/1.8/quickml/utils.rbの続き - バリケンのRuby日記 を含むブックマーク はてなブックマーク -  QuickMLのソースコードを読む(11) /usr/lib/ruby/1.8/quickml/utils.rbの続き - バリケンのRuby日記  QuickMLのソースコードを読む(11) /usr/lib/ruby/1.8/quickml/utils.rbの続き - バリケンのRuby日記 のブックマークコメント

昨日の日記の続きだよ。

String#xchomp!メソッド

class String
  def xchomp!
    self.chomp!("\n")
    self.chomp!("\r")
  end

これはString#xchomp!メソッドの定義だね。String#chomp!メソッドで、引数で指定した行区切り文字を文字列の末尾から取り除くよ。ここではまず\nを、次に\rを削除しているよ。

String#normalize_eol!メソッド

  def normalize_eol!
    self.xchomp!
    self << "\n"
  end

これはString#normalize_eol!メソッドの定義だね。先ほどのString#xchomp!メソッドで文字列末尾の改行文字を削除してから、"\n"を追加しているよ。

String#xchompメソッド

  def xchomp
    self.chomp("\n").chomp("\r")
  end
end

これはString#xchompメソッドの定義だね。String#chompメソッドで、まず\nを、次に\rを削除したオブジェクト新たに生成しているよ。このメソッドはさっきのString#xchomp!メソッドと違って破壊的じゃないところがポイントだよ。

今日はここまで。

トラックバック - http://rubyist.g.hatena.ne.jp/muscovyduck/20060618