[#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:28453] Re: named capture and /g, /G option

From: "K.Kosako" <sndgk393@...>
Date: 2006-03-21 13:58:01 UTC
List: ruby-dev #28453
Yukihiro Matsumoto wrote:
> まつもと ゆきひろです
> 
> In message "Re: [ruby-dev:28449] Re: named capture and /g, /G option"
>     on Tue, 21 Mar 2006 16:54:57 +0900, "K.Kosako" <sndgk393@ybb.ne.jp> writes:
> 
> |Regexp#to_sで、g, Gオプション情報は捨てられるということに
> |するしかなさそうです。
> 
> inspectで残るなら、まあ、いいんじゃないでしょうか。

MatchData[String/Symbol]のほうはコミットしました。

g, Gオプションのほうは、今日中に実装できないので、
一週間後ぐらいにやります。
その間に仕様について何か意見がある方はお願いします。

過去にruby-devで出た結論に基づいた仕様ですが、
鬼車をダウンロードしてドキュメントを読む方は、
あまり居られないと思いますので、以下に一部を
コピーしておきます。
--
小迫

---------------------------------
10. 捕獲式集合

  捕獲式集合(...)は、以下の条件に応じて振舞が変化する。
  (名前付き捕獲式集合は変化しない)

  case 1. /.../     (名前付き捕獲式集合は不使用、オプションなし)

     (...) は、捕獲式集合として扱われる。

  case 2. /.../g    (名前付き捕獲式集合は不使用、オプション 'g'を指定)

     (...) は、非捕獲式集合として扱われる。

  case 3. /..(?<name>..)../   (名前付き捕獲式集合は使用、オプションなし)

     (...) は、非捕獲式集合として扱われる。
     番号指定参照/呼び出しは不許可。

  case 4. /..(?<name>..)../G  (名前付き捕獲式集合は使用、オプション 'G'
を指定)

     (...) は、捕獲式集合として扱われる。
     番号指定参照/呼び出しは許可。

  但し
    g: ONIG_OPTION_DONT_CAPTURE_GROUP
    G: ONIG_OPTION_CAPTURE_GROUP
    ('g'と'G'オプションは、ruby-dev MLで議論された。)

  これらの振舞の意味は、
  名前付き捕獲と名前無し捕獲を同時に使用する必然性のある場面は少ないであろう
  という理由から考えられたものである。
  これらのオプションについては、Rubyでは現在実装されていない。




In This Thread