将参数传递给 make-array


(defun makeAr(li co)
    (make-array '(li co)))

这是行不通的,它说 li 和 co 是非法的论点,尽管我称之为例如:

(make-array 3 3)

这根本行不通。有人知道为什么吗?

make-array将列表中的数组维度作为其第一个参数。要创建三行三列的二维数组,您需要计算(make-array '(3 3)) .

引号字符表示文字。如果你说 '(li co) ,你有一个列表,其中包含符号lico。要实际获取绑定到这些符号的值,您需要使用函数 list 形成列表:

(defun make-ar (li co)
  (make-array (list li co))

另请注意,camelCase 不是惯用语 lisp;您应该用破折号分隔符号名称中的单词。

最新更新