HASTAlista_de_prueba
lista_de_instrucciones
UNTILlista_de_prueba
lista_de_instrucciones
Ejecuta repetidamente la lista_de_instrucciones
mientras que lista_de_prueba
evalúa a FALSO.
HASTA 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 HASTA reevalúa lista_de_prueba
antes de cada iteración, en lugar de sólo una vez.
HAZ "i 0
HASTA [:i > 3] [HAZ "i :i+1 ESCRIBE :i]
1
2
3
4