• Re: can format ~{...~} enumerate list items?

    From B. Pym@21:1/5 to B. Pym on Thu Aug 15 03:11:50 2024
    B. Pym wrote:

    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))


    newLISP

    (define (print-counted the-list (from 0))
    (dolist (x the-list)
    (println (+ from $idx) ". " x)))

    (print-counted '(aa bb cc) 700)
    700. aa
    701. bb
    702. cc

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)