如何修改这个“make-matrix”函数?

时间:2013-10-30 09:50:42

标签: lisp common-lisp clisp

嗯,有缺陷的功能如下:

(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函数?

1 个答案:

答案 0 :(得分:7)

您尝试使用(n n),但这是用于调用名为n且带有参数n的函数的Lisp语法。您应该像这样调用make-array

(make-array (list n n) :initial-element 0)