> From: Tanaka Akira [mailto:akr / m17n.org] > > 以前に、subexp callのcapture結果をtreeで返そうかなと > > 考えたことはあったんですが、必要性がよくわからなかったので > > 止めました。 > > たぶん、配列がネストしたようなデータをユーザに提供してもあんまり使いや > すくならないと思っています。少くとも深くネストしているものは。 そうですね。単純な配列だけを返すという仕様で、実装しようかと思います。 ライブラリが追加情報を返すようにするというだけで、Rubyがその情報を 使用するようになるかどうかは未定ですが。(使用しなければ今まで通りの 結果になります) 記法は、(?@subexp), (?<@name>subexp) でいいのかな? > Perl6 (や yacc) のようにパターン中にコードを書けて、capture したところ > で処理できれば使いやすいとは思うんですが、Ruby にうまく入るのかなぁ? Perl6については知らないのですが、 Perl5の(?{....})とはかなり違ったものになるのでしょうか? (後でbacktrackされるかどうかには関係なく、その場所に来れば実行される) 個人的には、Rubyのコードが実行できる機能は欲しいです。 正規表現ライブラリのデバッグに使えるかもしれないので。 しかし、そのような機能を入れると、 そのコードの中でマッチングしている文字列オブジェクトに破壊的な 操作をされる、という問題があると思います。 でも、文字列をコピーしてからマッチングを開始すれば回避できてしまうなー。 -- 小迫@出向中