(defun makeAr(li co)
(make-array '(li co)))
这是行不通的,它说 li 和 co 是非法的论点,尽管我称之为例如:
(make-array 3 3)
这根本行不通。有人知道为什么吗?
make-array
将列表中的数组维度作为其第一个参数。要创建三行三列的二维数组,您需要计算(make-array '(3 3))
.
引号字符表示文字。如果你说 '(li co)
,你有一个列表,其中包含符号li
和co
。要实际获取绑定到这些符号的值,您需要使用函数 list
形成列表:
(defun make-ar (li co)
(make-array (list li co))
另请注意,camelCase 不是惯用语 lisp;您应该用破折号分隔符号名称中的单词。