トップ «前の日記(2002-11-11 (Mon)) 最新 次の日記(2002-11-15 (Fri))» 編集   RSS 1.0 FEED  

Journal InTime


2002-11-13 (Wed) [長年日記]

_ chomp

ruby-devでString#chompの話が出ている。

chompは文字列の末尾の改行文字を(あれば)取るメソッドだが、"foo\r\n".chompは "foo\r"になってしまう。(つまり"\r\n"を改行とみなしてくれない。) これは不便なので"\r\n"も取ってくれ、という話。

結論としては、Ruby 1.7ではすでにそうなっているとのこと。

ちなみにnet/ftp.rbでは

CRLF = "\r\n"

  if line[-2, 2] == CRLF
    line = line[0 .. -3]
  elsif line[-1] == ?\r or
      line[-1] == ?\n
    line = line[0 .. -2]
  end

なんてことをしている。

なぜこんなにださいコードというと、net/ftp.rbはPythonのライブラリの パクリだから。(反省)

sub使った方が短かくて速そうですね、たぶん。