嗯,有缺陷的函数如下:
(defun make-matrix (n)
(make-array (n n) :initial-element 0))
我想使用像(make-matrix 8)
这样的函数来替换较长的(make-array '(8 8) :initial-element 0)
,但是CLISP 表示 (n n)
中存在错误,因为 n
不是已定义的函数。如何编写此 make-matrix
函数?
最佳答案
您尝试使用 (n n)
,但这是 Lisp 语法,用于调用名为 n
的函数并带有参数 n
。您应该像这样调用 make-array
:
(make-array (list n n) :initial-element 0)
关于lisp - 如何修改这个 "make-matrix"函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19678906/