Ich fange an, mir etwas Common Lisp zu schreiben und bin gerade dabei, Dinge zusammen zu fassen und zu formatieren.Wie kann ich einen Alist in Lispeln formatieren?
Nehmen wir an, ich habe eine alist, wie folgt aus:
(defvar *map* '((0 . "zero") (1 . "one") (2 . "two")))
Wie formatiere ich es so?
0: zero
1: one
2: two
Ich dachte so etwas wie (format t "~{~{~a: ~a~}~%~}" *map*)
, aber das gibt einen Fehler, da „Null“ keine Liste ist, und Sie können das Auto nicht nehmen.
Natürlich tun (format t "~{~a~%~}" *map*)
druckt
(0 . "zero")
(1 . "one")
(2 . "two")
wie es soll, aber es ist nicht ganz das, was ich will. Gibt es einen besseren Weg dies zu tun als nur (dolist (entry *mapping*) (format t "~a: ~a~%" (car entry) (cdr entry)))
?
mapcar auf den Punkt drucken ... mehr – skypher