MIENTRAS

Sinopsis
MIENTRAS lista_de_prueba lista_de_instrucciones
WHILE lista_de_prueba lista_de_instrucciones
Descripción

Ejecuta repetidamente la lista_de_instrucciones mientras que lista_de_prueba evalúa a CIERTO. MIENTRAS evalúa lista_de_prueba antes de evaluar lista_de_instrucciones, así que es posible que no se ejecuta lista_de_instrucciones ni una vez. El argumento lista_de_prueba debe contener una expresión que evalúa a CIERTO o FALSO.

El hecho de que el argumento lista_de_prueba es una lista pueda engañar porque debería contener exactamente una expresión. Sólo es una lista para aplazar cuando se lo evalúa. Por ser una lista, se necesita evaluarlo explícitamente con EJECUTA. Esto permite que MIENTRAS reevalúa lista_de_prueba antes de cada iteración, en lugar de sólo una vez.

Ejemplo
HAZ "i 0
MIENTRAS [:i < 3] [HAZ "i :i+1 ESCRIBE :i]
1
2
3

SourceForge.net Logo