2

那么,有缺陷的功能如下:

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

4

1 回答 1

7

您尝试使用(n n),但这是用于调用以n参数命名的函数的 Lisp 语法n。你应该这样调用make-array

(make-array (list n n) :initial-element 0)
于 2013-10-30T10:29:54.243 回答