comp.lang.ada
 help / color / mirror / Atom feed
From: "Robert T. Sagris" <robs@physics.purdue.edu>
Subject: Re: How to implement a continue statement in Ada?
Date: 1998/08/31
Date: 1998-08-31T00:00:00+00:00	[thread overview]
Message-ID: <35EB6C10.D85EBCF2@physics.purdue.edu> (raw)
In-Reply-To: EACHUS.98Aug31181809@spectre.mitre.org

Robert I. Eachus wrote:
> 
> In article <35EA8153.7BFC91E3@physics.purdue.edu> "Robert T. Sagris" <robs@physics.purdue.edu> writes:
> 
>  > I was wondering if there is a general way of implementing
>  > the behavior of C's continue statement in Ada.
> 
>    No, there are several techniques, but nothing which really covers
> everything.
> 
>  > If at all possible without using a goto statement.
> 
>    Well, that works in all cases, but certainly is not the best in all
> cases.
> 
>  > Basically what I am asking:
> 
>  >  Is there a way to skip the current iteration of a loop
>  >  but continue with the normal progression of the loop.
> 
>  >  In C, I could write:
> 
>  >     i = 0;
>  >     while (i < 10) {
> 
>  >       if (a[i] == 0) {
>  >          i++;
>  >          continue;
>  >       }
> 
>  >       a[i] = x / a[i];
>  >       i++;
>  >     }
> 
>        Ouch!  Assuming that "i" really is an iteration counter;
> 
>       for I in 0 .. 9 loop
>         if A(I) /= 0
>         then A(I) := X / A(I);
>         end if;
>       end loop;
> 
>        Seems like the natural translation, but I'm not sure that
> answers your question.
> --
> 
>                                         Robert I. Eachus
> 
> with Standard_Disclaimer;
> use  Standard_Disclaimer;
> function Message (Text: in Clever_Ideas) return Better_Ideas is...

It seems that people have mistaken my code example for the specific
instance were I needed a continue statement.

I only gave it so there was an example of a C use of the continue
statement. 
What I was asking; how would implement the code given, which realy is
just a general example, in Ada. Specifically so you could use it any any
loop were you needed to skip an iteration.

Thanks for the answers so far.

Robbi Sagris




  reply	other threads:[~1998-08-31  0:00 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <35EA8153.7BFC91E3@physics.purdue.edu>
1998-08-31  0:00 ` How to implement a continue statement in Ada? Robert I. Eachus
1998-08-31  0:00   ` Robert T. Sagris [this message]
1998-09-01  0:00     ` Matthew Heaney
1998-08-31  0:00 ` Norman H. Cohen
1998-09-01  0:00 ` alan walkington
1998-09-02  0:00   ` Dr Richard A. O'Keefe
1998-09-02  0:00     ` alan walkington
1998-09-02  0:00     ` Matthew Heaney
1998-09-03  0:00     ` dewarr
1998-08-31  0:00 Robert T. Sagris
1998-09-01  0:00 ` dewarr
1998-09-01  0:00 ` Dr Richard A. O'Keefe
1998-09-01  0:00   ` dewarr
1998-09-03  0:00     ` Dr Richard A. O'Keefe
1998-09-03  0:00       ` dennison
  -- strict thread matches above, loose matches on Subject: below --
2000-02-08  0:00 Oliver Kellogg
2000-02-08  0:00 ` David Starner
2000-02-08  0:00   ` Aidan Skinner
2000-02-09  0:00     ` Ted Dennison
2000-02-12  0:00       ` Jeff Carter
2000-02-14  0:00       ` Oliver Kellogg
2000-02-09  0:00     ` David Starner
2000-02-10  0:00       ` Aidan Skinner
2000-02-08  0:00 ` Ted Dennison
2000-02-09  0:00   ` Roger Barnett
replies disabled

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