我开始给我写一些Common Lisp,并且只是将一些东西放在一起并对它们进行格式化。我该如何格式化一个共同的lisp alist?
让我们假设我有一个ALIST,像这样:
(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 2009-08-13 13:22:15