comp.lang.ada
 help / color / mirror / Atom feed
From: christoph.grein@eurocopter.com
To: comp.lang.ada@ada-france.org
Subject: Re: "continue/next" for "loop"
Date: Mon, 3 Nov 2003 14:45:40 +0100 (MET)
Date: 2003-11-03T14:45:40+01:00	[thread overview]
Message-ID: <mailman.263.1067868012.25614.comp.lang.ada@ada-france.org> (raw)

Really, Lutz, I do not see why you by any force would like a solution without 
goto. It's the most appropriate solution in this case!

The goto solution is better understandable than the boolean condition one. And 
it's simpler. Has anyone noticed that More_Statments are missing in the non-goto 
solution?

Why is the goto braindead? Your coding standards forbit it? I hate those silly 
standards which forbid the most natural solution.

> Lutz Donnerhacke <lutz@iks-jena.de> wrote in 
> news:slrnbqckoa.m1.lutz@taranis.iks-jena.de:
> 
> > But both are the result of an oversimplification!
> > 
> > outer: loop
> >   inner: loop
> >     Complex_Actions_1;
> >     if First_Condition then
> >       Some_Justify_Actions;
> >       goto next_outer;
> >     end if;
> >     Complex_Actions_2;
> >     if Second_Condition then
> >       Some_Other_Justify_Actions;
> >       goto next_outer;
> >     end if;
> >     Complex_Actions_3;
> >   end loop inner;
> >   Complex_End_Statments;
> >   exit outer when Other_Condition;
> >   More_Statments;
> > 
> >   <<next_outer>> null;
> > end loop outer;
> 
> declare
>    Outer_Continue : boolean;
> begin
> outer: loop
>    inner : loop
>       Complex_Actions_1;
>       if First_Condition then
>          Some_Justify_Actions;
>          Outer_Continue := false;
>          exit inner;
>       end if;
>       Complex_Actions_2;
>       if Second_Condition then
>          Some_Other_Justify_Actions;
>          Outer_Continue := false;
>          exit inner;
>       end if;
>       Outer_Continue := true;
>       Complex_Actions_3;
>    end loop inner;
>    if Outer_Continue then
>       Complex_End_Statements;
>       exit outer when Other_Condition;
>    end if;
> end loop outer;
> 
> 
> Jim Rogers



             reply	other threads:[~2003-11-03 13:45 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-03 13:45 christoph.grein [this message]
2003-11-03 14:23 ` "continue/next" for "loop" Preben Randhol
2003-11-03 15:01   ` Lutz Donnerhacke
2003-11-03 15:19     ` Dmitry A. Kazakov
2003-11-03 18:33       ` Chad R. Meiners
2003-11-03 15:48     ` Preben Randhol
2003-11-03 18:50     ` Georg Bauhaus
2003-11-03 15:00 ` Lutz Donnerhacke
  -- strict thread matches above, loose matches on Subject: below --
2003-11-03 15:44 amado.alves
2003-11-03 22:12 ` Dmytry Lavrov
2003-11-03 22:27 ` Gautier Write-only
2003-11-03 13:54 amado.alves
2003-11-03 12:55 amado.alves
2003-11-03 13:06 ` Lutz Donnerhacke
2003-11-03 13:07 ` Lutz Donnerhacke
2003-11-03 13:25   ` Peter Hermann
2003-11-03 16:49     ` Robert I. Eachus
2003-11-03 18:21       ` (see below)
2003-11-03 18:52       ` Jeffrey Carter
2003-11-03 20:11         ` Lutz Donnerhacke
2003-11-04  1:23         ` Robert I. Eachus
2003-11-03 13:33   ` James Rogers
2003-11-03 13:46     ` Lutz Donnerhacke
2003-11-03 13:39   ` Dmitry A. Kazakov
2003-11-03 13:54   ` Ole-Hjalmar Kristensen
2003-11-03 14:56     ` Lutz Donnerhacke
2003-11-03 15:08   ` Stefan Lucks
2003-11-03 15:40     ` Lutz Donnerhacke
2003-11-05 10:36   ` Charles Lindsey
2003-11-05 18:05     ` Lutz Donnerhacke
2003-11-06  9:48     ` Martin Dowie
2003-11-07 14:54       ` Charles Lindsey
2003-11-07 16:24         ` Martin Dowie
2003-11-07 17:34         ` Jeffrey Carter
2003-11-05 14:45   ` Jim Rogers
2003-11-03 10:48 Lutz Donnerhacke
2003-11-03 10:51 ` Preben Randhol
2003-11-03 10:55   ` Preben Randhol
2003-11-03 11:01   ` Lutz Donnerhacke
2003-11-04  3:11 ` Steve
2003-11-05 15:54 ` sk
2003-11-06 15:40   ` Stephen Leake
2003-11-06 18:27     ` sk
2003-11-06 15:39 ` Stephen Leake
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox