格式化列表

Jas*_*ett 2 lisp format common-lisp

我有以下列表: (X X O NIL NIL O NIL NIL O)

我想格式化它看起来像这样:

X | X | O
--+---+--
  |   | O
--+---+--
  |   | O
Run Code Online (Sandbox Code Playgroud)

我可能FORMAT会把我和Lisp一点儿都知道的东西拼凑在一起,但它可能会非常糟糕.任何指针都将非常感激.

jtd*_*ubs 6

* (format t "~{~A | ~A | ~A~%~^--+---+--~%~}"
    (mapcar (lambda (x) (or x " ")) '(X O X NIL X X O X NIL)))
X | O | X
--+---+--
  | X | X
--+---+--
O | X |
NIL
Run Code Online (Sandbox Code Playgroud)