私は 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)))
ますか?