From: matz@... (Yukihiro Matsumoto) Date: 1997-08-21T17:21:10+09:00 Subject: [ruby-list:3750] Re: regex? (ruby-1.0-970820) まつもと ゆきひろです In message "[ruby-list:3749] regex? (ruby-1.0-970820)" on 97/08/21, Jun Kuroda writes: |黒田です。 |- -- |a = "test" | |p (a =~ /^t/) |p !(a !~ /^t/) | |$_ = "ruby" | |if (/^$/) | print "TRUE\n" |else | print "FALSE\n" |end |p ($_ =~ /^$/) |- -- | |が | |0 |TRUE |TRUE |FALSE | |となります。 まず最初の0は良いですね.0文字目(先頭)でマッチしているという 意味です.次の a !(~ /^t/) は !(!(a =~ /^t/)) という意味です から,TRUEであっています. 次のTRUEは問題です.これはFALSEであるべきです. 最後のFALSEも良いですね.というわけで,問題なのは3番目の FALSEであるべきところがTRUEである点ですが,以下のパッチで修 正されます. --- parse.y~ Thu Aug 21 11:46:06 1997 +++ parse.y Thu Aug 21 15:36:36 1997 @@ -3151,2 +3151,3 @@ + again: switch (type) { @@ -3192,2 +3193,5 @@ break; + case NODE_NEWLINE: + node->nd_next = cond0(node->nd_next); + return node; default: |それと大したことじゃないですが、 ありがとうございました. まつもと ゆきひろ /:|)