我正在用 lisp 编写矩阵转置函数。从以下代码可以看出我的做法:
(defun matrix-T (matrix)
(cond ((null matrix) matrix)
(t (list
(do ((i 0 (+ i 1)))
((> i (length matrix)))
(format t "(mapcar #'(lambda (x)(nth ~A x)) matrix) %" i))))))
如您所见,我试图从 do 循环中获取输出以作为 list 函数的参数传递。但是,我只得到从 matrix-T 返回的 do 循环输出。无论如何我可以纠正这个问题吗?