9.7.2 ¿Cómo funciona un bucle while sencillo?
El bucle "while" trabaja así:
- Si la condición entre los paréntesis se evalúa como falsa, salta
hasta el comando que está después de la declaración #end. Si la
condición se evalúa como verdadera, continúa normalmente.
- En la declaración #end salta hasta la declaración #while y
comienza de nuevo.
Esto es:
- Cuando POV-Ray llega hasta la declaración #while, evalúa la
condición entre paréntesis.
- Si la declaración es evaluada como verdadera, entonces continuará
normalmente con el comando siguiente.
- Sin embargo, si la declaración es evaluada como falsa, POV-Ray
obviará el cuerpo completo del bucle y continuará a partir del comando
que está después de la declaración #end.
- En una declaración #end, POV-Ray sencillamente vuelve a la
correspondiente declaración #while-statement y entonces continúa
normalmente (ej, revisando la condición y demás).
Nótese que en ninguna parte se menciona ningún índice de variable ni
ninguna otra cosa que pudiera usarse para finalizar automáticamente el
bucle o cualquier otra cosa. Como se dijo, es sólo un bucle "tonto" que
continúa por siempre si es necesario, solamente revisando la
declaración entre los paréntesis (sin interesarse en lo que es, sino en
su valor evaluado).
Aunque se pudiera pensar que esta clase de bucle "tonto" es malo y
que debería ser más "inteligente" y mejor, la verdad es que esta clase
de bucle "tonto" es realmente mucho más flexible y versátil. Le permite
hacer cosas que no se pueden o son muy difíciles de hacer con un bucle
"for" "inteligente"
con índices automáticos de variables.