From: Minero Aoki Date: 2001-08-16T17:08:06+09:00 Subject: [ruby-list:30924] Re: [REQ] Regexp#match! あおきです。 In mail "[ruby-list:30923] Re: [REQ] Regexp#match!" matz@ruby-lang.org (Yukihiro Matsumoto) wrote: > まつもと ゆきひろです > |いい名前があれば可能性あり と読みました。 > > ま、そういうことですね。あと、どの例外をあげるかって問題もあ > りますが(本当にArgumentErrorで良いんでしょうか)。 確かに最初のメールを書くときも迷いました。あらためて見てみると 既存のものではピッタリこなそうなので、新例外を作って RegexpMissmatch MatchError SearchError < StandardError または RegexpError で どうでしょうか。ただし現在の RegexpError の使われかたを 考えると RegexpMissmatch (相当) を RegexpError の下位クラスに するのはおかしいので、その場合は以下の例のように階層を細分化 するのを前提としてます。 RegexpError > RegexpCompileError (rb_reg_raise) RegexpStackOverflow (result == -2) ? (マッチ失敗) > gets/readline, []/fetchの系統からいえば、「別名でより長いも > のは例外をあげる」というルールを作れそうです。ということで、 > executeなんかは比較的良さそうですね。Pythonの正規表現オブジェ > クトはexecメソッドでマッチするようですし。 あ、久しぶりに好感触。google しまくった甲斐があった (^-^) ------------------------------------------------------------------- 青木峰郎