Sentencia CONTINUE

Una sentencia CONTINUE dentro de un bucle forzará al programa a finalizar la iteración actual del mismo y comenzar la siguiente.

Se denomina iteración a cada ejecución del grupo de sentencias interior a un bucle (las sentencias entre un LOOP y su END, por ejemplo).

No se puede poner esta sentencia más que dentro de los siguientes bucles:

LOOP ... END
Un CONTINUE dentro de este bucle saltará al LOOP.

FROM .. TO .. STEP .. ... END
Un CONTINUE dentro de este bucle realizará el incremento (STEP) y, si no se ha pasado el valor indicado en el TO, continuará el programa al inicio del bucle.

REPEAT ... UNTIL (..)
Un CONTINUE dentro de este bucle saltará al UNTIL.

WHILE ( .. ) ... END
Un CONTINUE dentro de este bucle saltará al WHILE.

FOR ( .. ; .. ; .. ) ... END
Un CONTINUE dentro de este bucle realizará el incremento y la comparación; si ésta última resulta cierta continuará el programa al inicio del bucle, si resulta falsa el programa continuará tras el END del FOR.

En caso de haber varios bucles anidados (unos dentro de otros) la sentencia CONTINUE tendrá efecto únicamente en el bucle más interior de ellos.

Ejemplo:
PROGRAM mi_juego;
BEGIN
    FOR (x=0, y=0;x<10;x++)
        IF (x<5) CONTINUE; END
        y++;
    END
END


En este ejemplo, tras ejecutarse el bucle completo, x valdrá 10 e y valdrá 5, pues mientras x es menor que 5 la sentencia CONTINUE impide que se ejecute la sentencia y++;.

Importante


La sentencia CONTINUE no es válida dentro de sentencias IF, ni SWITCH (ni las secciones CASE de esta sentencia), ni sentencias CLONE (ya que estas sentencias no implementan bucles y, por tanto, no realizan iteraciones).


Ver: Sintaxis