我开始学习Lisp编程,对于格式化函数感到困难。我的目标是将一个整数子列表的列表打印成每行N个整数,例如:'((1 2 3)(4 5 6)(7 8 9))应该被打印为:
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个元素?
谢谢!