[#49148] Ruby 1.9で、バイト長の部分文字列を作りたくて悩んでます — Daisuke Yokotsuka <yokots_d@...3-net.ne.jp>

はじめまして。横塚と申します。

16 messages 2013/01/29

[ruby-list:49129] Net::Protocol#each_crlf_lineの正規表現にある n option は必要でしょうか

From: dezawa <dezawa@...>
Date: 2013-01-14 04:24:20 UTC
List: ruby-list #49129
出沢です

今まで 1.8 で動かしていたメールを出すツールを1.9に移行していて引っかかっ
ています。
...net/protocol.rb:313: warning: regexp match /.../n against to UTF-8 string

が出ます。

理由は分かっていて、
Content-Type: text/plain; charset= utf-8
で生のUTFを使っているために、
Net::Protocol#each_crlf_line の
  while line = @wbuf.slice!(/\A.*(?:\n|\r\n|\r(?!\z))/n)

で怒られているわけです。

確かにかっては ネットワーク上は7bitクリーンな情報に限られていましたから
この n option の意図も分かるのですが、今ではそうではなくなっているのでこ
のoptionをなくしてもらうことはできないでしょうか。
なくすとなにか問題がありそうでしょうか?

In This Thread

Prev Next