まつもと ゆきひろです

In message "[ruby-list:3749] regex? (ruby-1.0-970820)"
    on 97/08/21, Jun Kuroda <jkuro / dwe.co.jp> 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:

|それと大したことじゃないですが、

ありがとうございました.
                                まつもと ゆきひろ /:|)