Zaczynam pisać dla mnie Common Lisp i dopiero zaczynam wszystko kompresować i formatować.Jak sformatować alistę w typowym seplenieniu?
Załóżmy mam alist, tak:
(defvar *map* '((0 . "zero") (1 . "one") (2 . "two")))
Jak mogę sformatować go w ten sposób?
0: zero
1: one
2: two
myślałem coś takiego (format t "~{~{~a: ~a~}~%~}" *map*)
, ale daje błąd, ponieważ „zero” nie jest listą i nie można wziąć samochód od niego.
Oczywiście, robi (format t "~{~a~%~}" *map*)
wydruki
(0 . "zero")
(1 . "one")
(2 . "two")
jak to ma, ale to nie całkiem to, czego chcę. Czy istnieje lepszy sposób na zrobienie tego niż tylko (dolist (entry *mapping*) (format t "~a: ~a~%" (car entry) (cdr entry)))
?
mapcar jest bardziej na miejscu ... – skypher