原です。 > |ところでこの 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.)