2013-10-30 53 views
2

好了,有缺陷的功能如下:如何修改這個「make-matrix」函數?

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

回答

7

您嘗試使用(n n),但這是Lisp語法,用於調用名爲n的函數,其參數爲n。你應該這樣調用make-array

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

是的,它的工作原理,謝謝... –