From: "Grein, Christoph" <christoph.grein@eurocopter.com>
Subject: Re: Trivial Ada question
Date: Thu, 4 Jul 2002 10:59:30 +0200 (MET DST)
Date: 2002-07-04T10:59:30+02:00 [thread overview]
Message-ID: <mailman.1025773383.11604.comp.lang.ada@ada.eu.org> (raw)
> * Darren New wrote:
> >"Robert I. Eachus" wrote:
[I do not remeber the exact form of Eachus', it was something like the
following:]
for i in A'Range loop
if not condition (A (i)) then
goto Dont_Increment;
end if;
end loop;
n := n + 1;
<<Dont_Increment>>
> >> Notice that a
> >> compiler might generate identical code for these two examples. What
> >> makes one right and the other wrong?
> >
> >Because the compiler isn't the only one that reads the code?
> >
> >"exit when ..." says to leave the innermost loop.
> >"goto skip" doesn't tell you anything about what "skip" means.
>
> So simply write:
>
> INCREMENT: for dummy in 1 .. 1 loop
> for i in a'Range loop
> exit INCREMENT when condition (a (i));
> end loop;
> n := n + 1;
> end loop;
>
> No 'evil' goto, and a 'telling' label.
This was a joke, wasn't it? Is this really better than a simle and innocent and
nearby goto? A one-time 'loop' enclosing another work loop...
These goto wars are astounding. Event the most simple goto solution is replaced
by a contrived no-goto one!
I have to confess that I have not needed a goto in so many years, but the goto
solution is one of the simplest solutions of all
those presented.
next reply other threads:[~2002-07-04 8:59 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-04 8:59 Grein, Christoph [this message]
2002-07-04 9:15 ` Trivial Ada question Lutz Donnerhacke
2002-07-05 22:25 ` Robert I. Eachus
-- strict thread matches above, loose matches on Subject: below --
2002-06-28 9:07 Reinert Korsnes
2002-06-28 10:10 ` David C. Hoos, Sr.
2002-06-28 10:54 ` Reinert Korsnes
2002-06-28 10:57 ` Reinert Korsnes
2002-06-28 11:33 ` David C. Hoos, Sr.
2002-06-28 11:44 ` Ted Dennison
2002-06-28 21:38 ` Steven Deller
2002-06-28 12:29 ` Steve Sangwine
2002-07-03 18:59 ` Robert I. Eachus
2002-07-03 19:41 ` Darren New
2002-07-04 8:28 ` Lutz Donnerhacke
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox