> Proposal a and b have incompatibility.  I'm not sure it's worth it.
> In addition, I felt code like the following is useful and already
> there.
>   i = nil
>   [1,2,3].each{|i| break if condition(i)}
>   p i
> Of course, rewriting it to
>   x = nil
>   [1,2,3].each{|i| if condition(i)
>       x = i
>       break
>     end
>   }
>   p x
> is easy, but tiresome.  Yes, I'm lazy.

And rewriting it to:

x = [1,2,3].find {|i| condition i }

is easy, and allows you to be lazier.

Unless someone has a practical example of code that cannot be boiled down
to the simple patterns of each,inject,find,... then I think there is no
need to worry about the tiresome case above.

matju