KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
How do I read an input stream until EOF in Lisp? In C, you might do it like this: while ((c = getchar()) != EOF) { // Loop body... } I would like to be able to pipe data to my Lisp programs without having to specify the data size in advance. Here's an example from something I'm doing now: (dotimes (i *n*) (setf *t* (parse-integer (read-line) :junk-allowed T)) (if (= (mod *t* *k*) 0) (incf *count*))) In this loop, the variable *n* specifies the number of lines I'm piping to the program (the value is read from the first line of input), but I would like to just process an arbitrary and unknown number of lines, stopping when it reaches the end of the stream.
Tags (comma-separated)
Save Edits
Cancel