comp.lang.ada
 help / color / mirror / Atom feed
From: dewarr@my-dejanews.com
Subject: Re: How to implement a continue statement in Ada?
Date: 1998/09/01
Date: 1998-09-01T00:00:00+00:00	[thread overview]
Message-ID: <6sfm15$39s$1@nnrp1.dejanews.com> (raw)
In-Reply-To: 35EA816A.E11FEA85@physics.purdue.edu

In article <35EA816A.E11FEA85@physics.purdue.edu>,
  "Robert T. Sagris" <robs@physics.purdue.edu> wrote:
> I was wondering if there is a general way of implementing
> the behavior of C's continue statement in Ada.
>
> If at all possible without using a goto statement.
>
> 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++;
>    }
>
> Thanks for any information you can give me.
>
> Robbi Sagris
>

The only general way of implementing a continue is to use a goto.
Use a stylized approach like

  This_Loop : loop
    ...
    if ... then
       goto Continue_This_Loop;
    end if;
    ...
    ...
  <<Continue_This_Loop>> null;
  end loop This_Loop;

This works fine, unless you have some inexplicable allergy to
typing G-O-T-O :-)

See the archives for a recent discussion of the use of gotos
for this purpose.

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum




  parent reply	other threads:[~1998-09-01  0:00 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-08-31  0:00 How to implement a continue statement in Ada? Robert T. Sagris
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
1998-09-01  0:00 ` dewarr [this message]
  -- 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
     [not found] <35EA8153.7BFC91E3@physics.purdue.edu>
1998-08-31  0:00 ` Robert I. Eachus
1998-08-31  0:00   ` Robert T. Sagris
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
replies disabled

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