Jak odczytać strumień wejściowy do EOF w Lisp? W C, możesz zrobić to tak:Jak odczytać wejście do EOF w Lisp
while ((c = getchar()) != EOF)
{
// Loop body...
}
Chciałbym móc danych rur do moich Lisp programów bez konieczności określania rozmiaru danych z wyprzedzeniem. Oto przykład z czegoś robię teraz:
(dotimes (i *n*)
(setf *t* (parse-integer (read-line) :junk-allowed T))
(if (= (mod *t* *k*) 0) (incf *count*)))
W tej pętli, zmienna *n*
określa liczbę wierszy Jestem orurowanie do programu (wartość jest odczytywana z pierwszej linii wejścia), ale chciałbym po prostu przetworzyć dowolną i nieznaną liczbę linii, zatrzymując się, gdy dotrze do końca strumienia.
@GustavBertram Nie wiem, co masz na myśli. Jest nadal dostępny do pobrania z linku, który opublikowałem ponad siedem lat temu w tej odpowiedzi. Właśnie potwierdziłem. –