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

Joh*_*ark 2 lisp clisp common-lisp

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

(defun make-matrix (n)
  (make-array (n n) :initial-element 0))
Run Code Online (Sandbox Code Playgroud)

我想使用像(make-matrix 8)更换更长时间的函数(make-array '(8 8) :initial-element 0),但CLISP说有一个错误(n n),因为n它不是一个定义的函数.我该如何写这个make-matrix函数?

Lar*_*off 7

您尝试使用(n n),但这是调用名为功能Lisp的语法n与参数n.你应该make-array像这样调用:

(make-array (list n n) :initial-element 0)
Run Code Online (Sandbox Code Playgroud)