原です。

> |ところでこの succ ですが、今までの 1 byte 文字の succ を生か
> |しているために、アルファベット文字以外で、例えば
> |
> |'&-/'.each_ch { |c| print c, "\n" }
> |
> |とかすると無限ループになります。ここは従来の succ とは無関係
> |に作りませんか?
> 
> これはもともとのsuccの定義を変更すべきでしょうね.
> succって結構面倒なので,rubyで書き直したくないんですよ.せっ
> かくあるんだから.


あれ?分からないです。「書き直したくないので定義を変更しない」
のでは? succ はそのままに upto の定義に succ を使うのをやめた
らいいんじゃないかと思うんですけど。いまさら無理かな。


> |後、/./ は "\n" にマッチしないので、jtr の引数には出来ません。
> |これは仕様ということにしますか。
> 
> うーん,考えさせてください.

そういえば Perl5 で . を \n にマッチさせる /s オプションという
のが出来たのでそれを導入したらいかがでしょう。ついでに $* = 1
に相当する /m オプションというのもあるけれど、、、。

それから、"abc" =~ /abc$/ と "abc\n" =~ /abc$/ は両方真です。
後者が偽になるオプションもあったらいいかも。


ついでだ。^^; 要望です。Perl でいう配列を返す match

@array = ("a;b;c;" =~ /(.);(.);(.);/)

に相当する

array = "a;b;c;".pick(/(.);/)

及びそれの global 版

@array = ("a;b;c;" =~ /(.);/g)

に掃討する

array = "a;b;c;".gpick(/(.);/)

が欲しいです。(pick という名称はともかくとして。)


さらに「反復子」のある正規表現

while( "abc" =~ /./g ) { print $&, "\n" }

に相当する

"abc".each_match(/./) { print $&, "\n" }

もあったらいいなあ。
---===-=-=-=-=-=-=-=-=======--=-=-=-==-=-===-=-=-=-=-=-=--=-==-=--
                            Shin-ichro Hara(Nagaoka Univ.of Tech.)