From: Yukihiro Matsumoto Date: 2007-07-04T04:17:48+09:00 Subject: [ruby-dev:31124] Re: loop{x+=1&&next} dumps core まつもと ゆきひろです In message "Re: [ruby-dev:31120] Re: loop{x+=1&&next} dumps core" on Wed, 4 Jul 2007 00:20:59 +0900, SASADA Koichi writes: | たとえば、1.times{1+(1&&next)} でも起きます。つまり、何らか |の値が積まれている状態で、next(jump)すると、そのゴミが残って |しまう、という症状です。 | | これは困りました。うまい解決方法が思いつきません。 うーむ。 | なんというか、例えば 1 + (f?next:0) なんかはエラーなので、1+ |(1&&next) もエラーとなってくれると良いと思うんですが、ダメで |しょうか。 えーと、 xxx or next とかありそうに思うので、これだとあまりうれしくないかもしれま せん。というわけで、and のオペランドに登場したらすべてエラー だとツラいのですが、and などが式の中に含まれていたらエラーと いうのはアリだと思います。どうやって検出しようか。