sábado, 25 de agosto de 2012

while en Emacs Lisp

Una plantilla para el comando 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

Main vs. Features: El arte de innovar sin romper lo que ya funciona

En el mundo del desarrollo de software, llega un momento en que el "copiar y pegar" carpetas o renombrar archivos como proyec...