[#20127] protected_instance_methods(true) — Shin-ichiro HARA <sinara@...>
原です。
4 messages
2003/05/01
[#20163] Numeric#step — Koji Arai <JCA02266@...>
新井です。
13 messages
2003/05/05
[#20165] Re: Numeric#step
— Minero Aoki <aamine@...>
2003/05/05
青木です。
[#20167] Re: Numeric#step
— Koji Arai <JCA02266@...>
2003/05/05
新井です。
[#20169] Re: Numeric#step
— Minero Aoki <aamine@...>
2003/05/05
青木です。
[#20171] Re: Numeric#step
— Koji Arai <JCA02266@...>
2003/05/05
新井です。
[#20172] Re: Numeric#step
— Masahiro TANAKA <masa@...>
2003/05/06
At Tue, 6 May 2003 02:55:54 +0900,
[#20197] ARGF.filename — Koji Arai <JCA02266@...>
新井です。
6 messages
2003/05/17
[#20209] /()*\1/ =~ "" — Tanaka Akira <akr@...17n.org>
元ネタは BTS および Matzにっきなのですが、Matzにっきの調子が悪くてつっ
5 messages
2003/05/19
[#20227] dyna_vars problem? — Tanaka Akira <akr@...17n.org>
しばらく前から、稀に Ruby が core を吐くという問題を追いかけているので
15 messages
2003/05/19
[#20234] Re: dyna_vars problem?
— matz@... (Yukihiro Matsumoto)
2003/05/19
まつもと ゆきひろです
[#20236] Re: dyna_vars problem?
— Tanaka Akira <akr@...17n.org>
2003/05/19
In article <1053363181.529491.30320.nullmailer@picachu.netlab.jp>,
[#20245] Re: dyna_vars problem?
— matz@... (Yukihiro Matsumoto)
2003/05/20
まつもと ゆきひろです
[#20248] Re: dyna_vars problem?
— Tanaka Akira <akr@...17n.org>
2003/05/20
In article <1053422521.786672.22712.nullmailer@picachu.netlab.jp>,
[#20250] Re: dyna_vars problem?
— matz@... (Yukihiro Matsumoto)
2003/05/20
まつもと ゆきひろです
[#20251] Re: dyna_vars problem?
— Tanaka Akira <akr@...17n.org>
2003/05/20
In article <1053424909.383731.24667.nullmailer@picachu.netlab.jp>,
[#20255] Re: dyna_vars problem?
— matz@... (Yukihiro Matsumoto)
2003/05/20
まつもと ゆきひろです
[#20268] splat restary — nobu.nakada@...
なかだです。
5 messages
2003/05/21
[#20303] [Oniguruma] possessive quantifier — kkosako@...
強欲な繰り返し演算子を実装してみたんですが、
1 message
2003/05/28
[#20307] [Oniguruma] intersection of char class — kkosako@...
Javaの正規表現で実現されている
4 messages
2003/05/30
[ruby-dev:20212] Re: /()*\1/ =~ ""
From:
kkosako@...
Date:
2003-05-19 07:08:08 UTC
List:
ruby-dev #20212
> -----Original Message-----
> From: Tanaka Akira [mailto:akr@m17n.org]
> > 空にしかならない場合は、特別に置き換えをしています。
> > /()*/ ==> /()?/
> >
> > 一般的に、空になることもある繰り返しは、一回の繰り返し毎に
> > 空になったかどうかチェックして、空の場合には繰り返しを終了
> > させます。
>
> よくわかんないです。
>
> 「一回の繰り返し毎に空になったかどうかチェックして、空の場合には繰り返
> しを終了させます」というのは、私には、繰り返しの最中に中身が空にマッチ
> したらそれでもう繰り返さないというように聞こえるのですが、
>
> % ./ruby -rpp -e 'pp /a(?:()|(b))*c\1/.match("abc")'
> #<MatchData "abc" "" "b">
>
> というような場合には、() にも (b) にもマッチしています。つまり、中身が
> () にマッチしたあと、さらに繰り返して (b) にマッチしているように思いま
> す。とすると、私の理解は間違っているわけで、上記の終了させますっていう
> のはどいう意味なんでしょう?
説明が不正確でした。
繰り返しを終了するのではなくて、繰り返しを中断して、
繰り返しの後の部分に処理が移動します。
そこで失敗するとバックトラックして、もしも繰り返しの中に他の選択肢が残ってい
れば
それを実行します。
上記の例だと、
() => 繰り返し中断 => 失敗 => (b) => () => 繰り返し中断 => 成功
となります。
--
小迫@出向中