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))))
(loop for word = (read input nil) while word collect word)
which even the strictest LOOP-hater would have to agree
is clearer.
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 74 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 01:26:20 |
| Calls: | 1,194 |
| Files: | 1,352 |
| D/L today: |
1 files (1,580K bytes) |
| Messages: | 290,958 |