Je commence à m'écrire du Common Lisp et je commence juste à comprendre les choses ensemble et à les mettre en forme.Comment est-ce que je pourrais formater un alist dans le lisp commun?
Supposons que j'ai un alist, comme ceci:
(defvar *map* '((0 . "zero") (1 . "one") (2 . "two")))
Comment formater je comme ça?
0: zero
1: one
2: two
Je pensais quelque chose comme (format t "~{~{~a: ~a~}~%~}" *map*)
, mais qui donne une erreur, car ce n'est pas « zéro » une liste et vous ne pouvez pas prendre la voiture de celui-ci.
Bien sûr, faire (format t "~{~a~%~}" *map*)
impressions
(0 . "zero")
(1 . "one")
(2 . "two")
comme il est censé le faire, mais il est pas tout à fait ce que je veux. Y at-il une meilleure façon de faire cela que juste (dolist (entry *mapping*) (format t "~a: ~a~%" (car entry) (cdr entry)))
?
MAPCAR est plus au point ... – skypher