Discussion:
can format ~{...~} enumerate list items?
(too old to reply)
B. Pym
2024-07-17 21:20:33 UTC
Permalink
(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))
Kaz Kylheku
2024-07-18 00:38:05 UTC
Permalink
Post by B. Pym
gosh> (print-counted '(a bb ccc) 233)
233. a
234. bb
235. ccc
(define (print-counted the-list :optional (from 0))
(for-each
(cut print <> ". " <>)
(lrange from)
the-list))
This is the TXR Lisp interactive listener of TXR 294.
Quit with :quit or Ctrl-D on an empty line. Ctrl-X ? for cheatsheet.
TXR was taped live before a studio audience. The laughter is genuine.
1> (mapdo (op put-line `@1. @2`) 1 '(a bb ccc))
1. a
2. bb
3. ccc
--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @***@mstdn.ca
B. Pym
2024-08-15 03:11:50 UTC
Permalink
Post by B. Pym
(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
(define (print-counted the-list :optional (from 0))
(for-each
(cut print <> ". " <>)
(lrange from)
the-list))
newLISP

(define (print-counted the-list (from 0))
(dolist (x the-list)
(println (+ from $idx) ". " x)))
Post by B. Pym
(print-counted '(aa bb cc) 700)
700. aa
701. bb
702. cc

Loading...