From: matz@... (Yukihiro Matsumoto) Date: 2000-12-17T22:55:46+09:00 Subject: [ruby-list:26578] Re: Regexp.new のオプション まつもと ゆきひろです In message "[ruby-list:26572] Re: Regexp.new のオプション" on 00/12/17, WATANABE Hirofumi writes: |"n" は真だから, そこに文字列を指定しても無意味です. | if (argc >= 2) { | if (FIXNUM_P(argv[1])) flag = FIX2INT(argv[1]); | else if (RTEST(argv[1])) flag = RE_OPTION_IGNORECASE; | } |なぜかこうなってるのかといえば歴史的理由からなんですけど, 一応、エンコーディング指定と正規表現自身のオプション指定を分 けたかったというのはあります(さっき思い出した)。 将来、n, s, e, u 以外のエンコーディングを扱うようになった日 に、第3引数に名前で指定するのが良かろうと思います。 それはそれとして |今となっては | Regexp.new(string[, option[, code]]) |で option は | true なら ignore case | Fixnum ならマニュアルのとおり | 文字列なら i, x, p, n, e, s, u 全部受け付ける |ようにすると混乱がない気がしますね. というようなのはあっても良いと思いますが。 まつもと ゆきひろ /:|)