Как мне прочитать входной поток до EOF в Лиспе? В C вы можете сделать это так:
while ((c = getchar()) != EOF)
{
// Loop body...
}
Я бы хотел иметь возможность передавать данные в мои программы на Лиспе без предварительного указания размера данных. Вот пример из того, что я делаю сейчас:
(dotimes (i *n*)
(setf *t* (parse-integer (read-line) :junk-allowed T))
(if (= (mod *t* *k*) 0) (incf *count*)))
В этом цикле переменная *n*
указывает количество строк, которые я передаю программе (значение читается из первой строки ввода), но я хотел бы просто обработать произвольное и неизвестное число линии, останавливающиеся при достижении конца потока.