(defun counting (list &optional (from 1))
(mapcar (let ((i (1- from)))
(lambda (x)
(if (consp x)
(cons (incf i) x)
(list (incf i) x))))
list))
(let ((arguments '(aa bb cc)))
(format t "~:{~A. ~A~%~}" (counting arguments)))
1. AA
2. BB
3. CC
gosh> (print-counted '(a bb ccc) 233)
233. a
234. bb
235. ccc
Shorter:
(define (print-counted the-list :optional (from 0))
(for-each
(cut print <> ". " <>)
(lrange from)
the-list))
(mapdo (op put-line `@1. @2`) 1 '(a bb ccc))1. a
Pascal J. Bourguignon wrote:
(defun counting (list &optional (from 1))
(mapcar (let ((i (1- from)))
(lambda (x)
(if (consp x)
(cons (incf i) x)
(list (incf i) x))))
list))
(let ((arguments '(aa bb cc)))
(format t "~:{~A. ~A~%~}" (counting arguments)))
1. AA
2. BB
3. CC
Gauche Scheme
(define (print-counted the-list :optional (from 0))
(for-each
(lambda (i x) (print i ". " x))
(lrange from)
the-list))
gosh> (print-counted '(a bb ccc))
0. a
1. bb
2. ccc
gosh> (print-counted '(a bb ccc) 233)
233. a
234. bb
235. ccc
Shorter:
(define (print-counted the-list :optional (from 0))
(for-each
(cut print <> ". " <>)
(lrange from)
the-list))
(print-counted '(aa bb cc) 700)700. aa
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 403 |
Nodes: | 16 (2 / 14) |
Uptime: | 54:04:24 |
Calls: | 8,412 |
Calls today: | 7 |
Files: | 13,174 |
Messages: | 5,905,965 |