>> But try: >> >> x = raise rescue nil || 1 >> >> Of course this is a trivial example, but the point is that raise can >> in fact have a value. > > Even more trivial: > > x = raise rescue 1 > >:-) But I'd still say that the return value of the call to raise is > not what's being captured in x. Of course not :) viz. (x = raise) rescue 1; x #=> nil x = (raise rescue 1); x #=> 1 and indeed it's more trivial than the case at the top of this post, I'm not going to enumerate all possibilities of that ;) Bye, Kero.