comp.lang.ada
 help / color / mirror / Atom feed
From: eachus@spectre.mitre.org (Robert I. Eachus)
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: <EACHUS.98Aug31181809@spectre.mitre.org> (raw)
In-Reply-To: 35EA8153.7BFC91E3@physics.purdue.edu

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...




  parent 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? Norman H. Cohen
1998-08-31  0:00 ` Robert I. Eachus [this message]
1998-08-31  0:00   ` Robert T. Sagris
1998-09-01  0:00     ` Matthew Heaney
1998-09-01  0:00 ` alan walkington
1998-09-02  0:00   ` Dr Richard A. O'Keefe
1998-09-02  0:00     ` Matthew Heaney
1998-09-02  0:00     ` alan walkington
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     ` David Starner
2000-02-10  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-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