Another way:
(use srfi-42) ; list-ec
(list-ec (:port word input) word)
Gareth McCaughan wrote:
(loop for word = (read input nil) while word collect word)
which even the strictest LOOP-hater would have to agree
is clearer.
It's shorter in Gauche Scheme:
(use gauche.generator)
(generator->list (cut read input))
Another way:
(use srfi-42) ; list-ec
(list-ec (:port word input) word)
B. Pym wrote:
Gareth McCaughan wrote:
(loop for word = (read input nil) while word collect word)
which even the strictest LOOP-hater would have to agree
is clearer.
It's shorter in Gauche Scheme:
(use gauche.generator)
(generator->list (cut read input))
Another way:
(use srfi-42) ; list-ec
(list-ec (:port word input) word)
Using the old-fashioned and primitive "do":
(do ((r () (cons x r))
(x 0 (read)))
((eof-object? x) (cdr (reverse r))))
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 54 |
| Nodes: | 6 (1 / 5) |
| Uptime: | 21:47:23 |
| Calls: | 742 |
| Files: | 1,218 |
| D/L today: |
6 files (8,794K bytes) |
| Messages: | 186,234 |
| Posted today: | 1 |