ts <decoux / moulon.inra.fr> wrote in message news:<200401041500.i04F0jg04445 / moulon.inra.fr>...
> >>>>> "G" == GGarramuno  <GGarramuno / aol.com> writes:
> 
> G>         while $stdin.getc != "a"
> 
>  getc return a Fixnum, not a String
> 
> Guy Decoux

Thanks for mentioning that.  That could indeed be some future gotcha I
could run into.

Still, that is not dealing with the flow problem I have.

Testing it now with:

catch(:arg) do
         while $stdin.getc
           begin
               p "A"
               while 1
                     p "B"
                     throw :arg if 1
               end
           ensure
               #do a lot of stuff here
               p "ensure"
           end
        end
end

and I still exit the loop right away.  I want to be able to do a
"next" on the outer loop from within the inner loop and the
throw/catch mechanism seems to be only a solution to breaking out of
loops, not iterating to the next step (while evaluating the
condition).
I'm sure I am missing some obvious way of doing this.