¿Cómo leo una secuencia de entrada hasta EOF en Lisp? En C, es posible hacerlo de esta manera:Cómo leer la entrada hasta EOF en Lisp
while ((c = getchar()) != EOF)
{
// Loop body...
}
Me gustaría ser capaz de datos del tubo a mis programas Lisp sin tener que especificar el tamaño de los datos con antelación. He aquí un ejemplo de algo que estoy haciendo ahora:
(dotimes (i *n*)
(setf *t* (parse-integer (read-line) :junk-allowed T))
(if (= (mod *t* *k*) 0) (incf *count*)))
En este bucle, la variable *n*
especifica el número de líneas de tuberías estoy en el programa (el valor se lee de la primera línea de entrada), pero me gustaría procesar un número arbitrario y desconocido de líneas, deteniéndome cuando llegue al final de la transmisión.
@GustavBertram No está seguro de lo que quiere decir. Todavía está disponible para su descarga desde el enlace que publiqué hace más de siete años en esta respuesta. Acabo de confirmar. –