Я начинаю писать мне Common Lisp, и я просто собираюсь объединять вещи и форматировать их.Как я могу форматировать alist в общем lisp?
Давайте предположим, что у меня есть ассоциативный список, как это:
(defvar *map* '((0 . "zero") (1 . "one") (2 . "two")))
Как отформатировать его, как это?
0: zero
1: one
2: two
я что-то вроде (format t "~{~{~a: ~a~}~%~}" *map*)
думать, но это дает ошибку, потому что «ноль» не список, и вы не можете взять машину из него.
Конечно, делать (format t "~{~a~%~}" *map*)
отпечатки
(0 . "zero")
(1 . "one")
(2 . "two")
, как это положено, но это не совсем то, что я хочу. Есть ли лучший способ сделать это, чем просто (dolist (entry *mapping*) (format t "~a: ~a~%" (car entry) (cdr entry)))
?
MAPCAR больше к точке ... – skypher