DESDElista_de_control
lista_de_instrucciones
FORlista_de_control
lista_de_instrucciones
DESDE es una herramienta flexible para la iteración.
El argumento lista_de_control
controla como ocurre la iteración.
Debe ser una lista con tres o cuatro miembros.
En orden, son:
Una palabra que se usa como el nombre del «variable de control». Esta variable es local al procedimiento.
Una palabra o lista que se evalúa para obtener el valor inicial de la variable.
Una palabra o lista que se evalúa para obtener un número, el valor límite de la variable.
Una palabra o lista opcional que se evalúa para obtener el tamaño del incremento. Si falta el cuarto miembro tendrá el valor 1 o –1, dependiendo de si el valor límite sea mayor o menor que el valor inicial.
El argumento lista_de_instrucciones
contiene las instrucciones que DESDE ejecuta en cada iteración.
El efecto de DESDE es que se ejecuta repetidamente las instrucciones contenidas en lista_de_instrucciones
, y asigna un nuevo valor a la variable de control en cada iteración.
Primero asigna el valor inicial a la variable de control y compara ese valor al valor límite.
La ejecución termina cuando el signo de (actual - límite) es lo mismo que el signo del tamaño de incremento.
En otro caso, se ejecutan las instrucciones contenidas en lista_de_instrucciones
, se incrementa la variable de control por el valor del incremento y se vuelve a la comparación.
Si no hay un tamaño de incremento, entonces se ejecuta lista_de_instrucciones
al menos una vez.
Con un tamaño de incremento explicito, se puede conseguir que DESDE nunca ejecutara lista_de_instrucciones
(por ejemplo, DESDE [i 1 0 1] [
).
...
]
En muchos casos, puedes reescribir una instrucción DESDE en términos de REPITE y CUENTAREPITE.
DESDE [i 2 7 1.5] [ESCRIBE :i]
2
3.5
5
6.5