Sysop: | Amessyroom |
---|---|
Location: | Fayetteville, NC |
Users: | 26 |
Nodes: | 6 (0 / 6) |
Uptime: | 59:24:27 |
Calls: | 633 |
Calls today: | 1 |
Files: | 1,188 |
D/L today: |
32 files (20,076K bytes) |
Messages: | 180,583 |
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))))