Lisp格式程序

rfs*_*raz 4 lisp format integer list

我开始在Lisp中编程并且很难使用Format函数.

我的目标是打印一个整数子列表的列表作为行的N个整数.例如:

'((1 2 3)
(4 5 6)
(7 8 9))

应打印为

1 2 3
4 5 6
7 8 9

我尝试在格式化过程中使用迭代,但是我失败了.

我写的是:

(format t "~{~S ~}" list)
Run Code Online (Sandbox Code Playgroud)

但是有了这个,我把子列表称为"(1 2 3)"而不是"1 2 3",所以我尝试了:

(format t "~:{ ~S ~}" list)
Run Code Online (Sandbox Code Playgroud)

这次我进入了子列表但只打印了第一个元素,所以我介入并重新编写了函数:

(format t "~:{ ~S ~S ~S ~}" list)
Run Code Online (Sandbox Code Playgroud)

它适用于具有3个元素的子列表,但是如何使其适用于n个元素?

谢谢!

Rai*_*wig 9

(format t "~{~%~{~A~^ ~}~}"  '((1 2 3) (4 5 6) (7 8 9)))
Run Code Online (Sandbox Code Playgroud)

版画

1 2 3
4 5 6
7 8 9
Run Code Online (Sandbox Code Playgroud)