У меня есть сомнения по поводу того, как напечатать список списков в форме столбца, я пробовал несколько способов, но ни один из них не работает, и я использовал несколько текстовых форматов, но это не выходит, как ожидалось, какие-либо предложения?
(defun states ()
'(((0 0 0 0 0 0 0)
(0 0 X 0 0 0 0)
(0 0 0 0 0 0 0)
(0 0 0 T 0 0 0)
(0 0 0 0 0 0 0)) ;;first
((0 0 0 0 0 0 0)
(0 0 0 0 0 0 0)
(0 0 0 0 0 X 0)
(0 0 0 T 0 0 0)
(0 0 0 0 0 0 0)) ;;second
((0 0 0 0 0 0 0)
(0 0 0 0 0 0 0)
(0 X 0 0 0 0 0)
(0 0 0 T 0 0 0)
(0 0 0 0 0 0 0)) ;;third
((0 0 0 0 0 0 0)
(0 0 0 T 0 0 0)
(0 0 0 0 0 0 0)
(0 0 X 0 0 0 0)
(0 0 0 0 0 0 0)))) ;;fourth
(defun test-print ()
(format T "~%--- Result ---")
(mapcar #'(lambda(x) (print-state x)) (states)))
(defun print-state (x)
(format T "~%")
(mapcar (lambda (x) (format T "~@T~@T~@T~@T~@T ~A ~%" x)) x)
(format NIL ""))
;;test print
(test-print)
вы можете проверить и увидеть результат в ideone.com , как в этом примере
--- Result ---
(0 0 0 0 0 0 0)
(0 0 X 0 0 0 0)
(0 0 0 0 0 0 0)
(0 0 0 T 0 0 0)
(0 0 0 0 0 0 0)
(0 0 0 0 0 0 0)
(0 0 0 0 0 0 0)
(0 0 0 0 0 X 0)
(0 0 0 T 0 0 0)
(0 0 0 0 0 0 0)
(0 0 0 0 0 0 0)
(0 0 0 0 0 0 0)
(0 X 0 0 0 0 0)
(0 0 0 T 0 0 0)
(0 0 0 0 0 0 0)
(0 0 0 0 0 0 0)
(0 0 0 T 0 0 0)
(0 0 0 0 0 0 0)
(0 0 X 0 0 0 0)
(0 0 0 0 0 0 0)
, и я хочу напечатать эти списки в два или 3 столбца, как в этом примере
--- Result ---
(0 0 0 0 0 0 0) (0 0 0 0 0 0 0)
(0 0 X 0 0 0 0) (0 0 0 0 0 X 0)
(0 0 0 0 0 0 0) (0 0 0 T 0 0 0)
(0 0 0 T 0 0 0) (0 0 0 0 0 0 0)
(0 0 0 0 0 0 0) (0 0 0 0 0 0 0)
(0 0 0 0 0 0 0) (0 0 0 0 X 0 0)
(0 0 0 0 0 0 0) (0 0 0 0 0 0 0)
(0 0 0 0 0 0 0) (0 0 0 T 0 0 0)
(0 0 0 T 0 0 0) (0 0 0 0 0 0 0)
(0 0 0 0 0 X 0) (0 0 0 0 0 0 0)