From: SASADA Koichi Date: 2007-07-04T04:51:01+09:00 Subject: [ruby-dev:31127] Re: loop{x+=1&&next} dumps core  ささだです。 Yukihiro Matsumoto wrote: > | なんというか、例えば 1 + (f?next:0) なんかはエラーなので、1+ > |(1&&next) もエラーとなってくれると良いと思うんですが、ダメで > |しょうか。 > > えーと、 > > xxx or next > > とかありそうに思うので、これだとあまりうれしくないかもしれま > せん。というわけで、and のオペランドに登場したらすべてエラー > だとツラいのですが、and などが式の中に含まれていたらエラーと > いうのはアリだと思います。どうやって検出しようか。  先ほどのメールは「and などが式の中に含まれていたらエラー」を 提案しております。先ほどのメールに書いたパッチが、まさに value_expr() でのチェックを厳しくするものなんですが、まずいで しょうか。  p(a && next) とか、書きたい人がいればまずいです。ですが、現 状では p(a ? :foo : next) は許されないので、同じように許されな くてもいいんじゃないかなぁと思いました。 -- // SASADA Koichi at atdot dot net