[#28446] named capture and /g, /G option — "K.Kosako" <sndgk393@...>

Ruby 1.9に、

30 messages 2006/03/21
[#28449] Re: named capture and /g, /G option — "K.Kosako" <sndgk393@...> 2006/03/21

> Ruby 1.9に、

[#28452] Re: named capture and /g, /G option — Yukihiro Matsumoto <matz@...> 2006/03/21

まつもと ゆきひろです

[#28453] Re: named capture and /g, /G option — "K.Kosako" <sndgk393@...> 2006/03/21

Yukihiro Matsumoto wrote:

[ruby-dev:28491] Re: named capture and /g, /G option

From: "K.Kosako" <sndgk393@...>
Date: 2006-03-30 11:07:53 UTC
List: ruby-dev #28491
U.Nakamura wrote:
> 出遅れましたが、そもそも g, G の有無で何がどうなるのか明確で
> ないような気がしますので、もうちょっと説明が欲しいのですが、
> どうでしょうか。
> 
> [ruby-dev:28453]では4つのケースについて説明がされているわけで
> すが、これでは説明が漏れているように思います。
> 以下の理解が正しいかどうか、また、疑問点の部分はどうなるのか、
> を説明していただけると、g, G の必要性についてもうちょっと考え
> ることができるように思います。

漏れていますが、それはオプション指定に効果がない
場合を省略してしまって書いているからです。

このメールを書くのに結構時間が掛かったので、/g, /G
オプションは普通の人には使えないという感じをさらに
強く持ちました。
(/gはなくして、/Gだけ追加というのならちょっとだけ
可能性があるかもしれないけど)

少し書き換えましたが、以下のようになります。
--
小迫

(1) 名前つき捕獲式集合を含まない場合
    (1-1) オプションなし
     * ()は今までどおり捕獲式集合となり、番号で参照できる

    (1-2) g オプション使用
     * ()は捕獲式集合でなくなる。とうぜん番号での参照は不可。

    (1-3) G オプション使用
     * ()は今までどおり捕獲式集合となり、番号で参照できる

(2) 名前つき捕獲式集合を含む場合
    (2-1) オプションなし
     * ()は捕獲式集合でなくなる。とうぜん番号での参照は不可。
     * (?<name>)は番号で参照できない

    (2-2) g オプション使用
     * ()は捕獲式集合でなくなる。とうぜん番号での参照は不可。
     * (?<name>)は番号で参照できない

    (2-3) G オプション使用
     * ()は捕獲式集合となり、番号で参照できる
     * (?<name>)は番号で参照できる


In This Thread