while
en Emacs Lisp sería la siguiente:
(while true-or-false-test body...)Este bucle se va a ejecutar siempre que el test nos de 'verdadero'.
Evaluar una lista vacía, nos da 'nil'. Entonces puede ser útil para salir del bucle, simplemente evaluar una lista. Si la lista está vacía, salimos del bucle. Si no, continuamos con la ejecución del mismo que puede ser, por ejemplo, quitar un elemento de la misma, y así sucesivamente hasta encontrarnos con la lista vacía.
Otra posibilidad naturalmente es utilizar un contador. Este contador a medida que va ejecutándose el bucle, va decreciendo hasta llegar a un valor que ocasionará que el test de falso y así salir del bucle.
El test puede ser una expresión del tipo
(< contador numero-deseado)
que va a devolver t de verdadero si el valor de contador es menor que el del número deseado.inicializar contador (while (< contador numero-deseado) ; test body... (setq contador (1+ contador))) ; incremento
El valor inicial del contador suele ponerse en 1.
No hay comentarios.:
Publicar un comentario