Sto iniziando a scrivermi un po 'di Common Lisp e sto solo imparando a mettere insieme le cose e a formattarle.Come posso formattare un alist in comune lisp?
Supponiamo ho un alist, in questo modo:
(defvar *map* '((0 . "zero") (1 . "one") (2 . "two")))
Come faccio a formattare in questo modo?
0: zero
1: one
2: two
Stavo pensando qualcosa di simile (format t "~{~{~a: ~a~}~%~}" *map*)
, ma che dà un errore perché "zero" non è una lista e non si può prendere la macchina di esso.
Naturalmente, facendo (format t "~{~a~%~}" *map*)
stampe
(0 . "zero")
(1 . "one")
(2 . "two")
come si suppone, ma non è proprio quello che voglio. C'è un modo migliore per farlo rispetto al solo (dolist (entry *mapping*) (format t "~a: ~a~%" (car entry) (cdr entry)))
?
mapcar è di più per il punto ... – skypher