lua-users home
lua-l archive

Re: upcoming changes in Lua 5.2

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On 2/27/08, Alexander Gladysh <agladysh@gmail.com> wrote:
> > > for (int i = 0; i < 10; ++i)
> > > {
> > > if (i % 2)
> > > {
> > > continue;
> > > }
> > > printf("odd %d", i);
> > > }
> > >
> > > I treat continue in the first example as an another exit from the loop
> > > iteration.
> >
> > No it is not! The only exit point from the "for" loop above is the
> > condition "i<10".
> > "continue" simply causes to skip printf statement.
>
>
> The only exit point from the *loop* is the condition "i < 10".
> But continue is an extra exit point from a *single iteration* of the
> loop -- that is, the code between its {}.
>
An "exit point" is defined as a point in the program that leaves
certain scope such as function, loop, switch statement, etc. In C/C++
"return", "break", "goto" qualify as such but "continue" generally
does not. In your example "continue" does leave the scope of
"if"-statement but not the "for" loop.
--Leo--
(my last post on this topic)

AltStyle によって変換されたページ (->オリジナル) /