【发布时间】:2009-08-12 01:10:29
【问题描述】:
我开始给我写一些 Common 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))) 更好的方法来做到这一点?
【问题讨论】:
标签: formatting lisp format common-lisp string-formatting