(defun makeAr(li co)
(make-array '(li co)))
这不起作用,它说li和co是非法的论点,尽管我以此为例:
(make-array 3 3)
这根本行不通。谁知道为什么?
答案 0 :(得分:4)
make-array
将列表中的数组维度作为其第一个参数。要创建包含三行和三列的二维数组,您可以评估(make-array '(3 3))
。
引号字符表示文字。如果您说'(li co)
,则会有一个由符号li
和co
组成的列表。要实际获取绑定到这些符号的值,您需要使用函数list
形成列表:
(defun make-ar (li co)
(make-array (list li co))
另请注意,camelCase不是惯用的lisp;你应该用符号来区分符号名称中的单词。