Come si legge un flusso di input fino a EOF in Lisp? In C, si potrebbe fare in questo modo:Come leggere l'input fino a EOF in Lisp
while ((c = getchar()) != EOF)
{
// Loop body...
}
mi piacerebbe essere in grado di dati di tubi ai miei programmi Lisp senza dover specificare la dimensione dei dati in anticipo. Ecco un esempio da qualcosa che sto facendo ora:
(dotimes (i *n*)
(setf *t* (parse-integer (read-line) :junk-allowed T))
(if (= (mod *t* *k*) 0) (incf *count*)))
In questo ciclo, la variabile *n*
specifica il numero di linee di tubazioni Sono al programma (il valore viene letto dalla prima riga di input), ma mi piacerebbe solo elaborare un numero arbitrario e sconosciuto di linee, fermandosi quando raggiunge la fine del flusso.
@GustavBertram Non sei sicuro di quello che vuoi dire. È ancora disponibile per il download dal link che ho postato più di sette anni fa in questa risposta. Ho appena confermato. –