我开始用 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)
但是我得到的子列表是“(1 2 3)”而不是“1 2 3”,所以我尝试了:
(format t "~:{ ~S ~}" list)
这次我进入了子列表但只打印了第一个元素,所以我介入并将函数重写为:
(format t "~:{ ~S ~S ~S ~}" list)
它适用于具有 3 个元素的子列表,但我怎样才能让它适用于 n 个元素?
谢谢!
最佳答案
(format t "~{~%~{~A~^ ~}~}" '((1 2 3) (4 5 6) (7 8 9)))
打印
1 2 3
4 5 6
7 8 9
关于list - Lisp 格式程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4235817/