Lisp 传递参数以生成数组

Lisp 传递参数以生成数组,lisp,common-lisp,Lisp,Common Lisp,这是行不通的,它说李和他的同事是非法的,尽管我举个例子: (defun makeAr(li co) (make-array '(li co))) 这根本不起作用。有人知道为什么吗?生成数组将列表中的数组维度作为其第一个参数。要创建一个包含三行三列的二维数组,您需要计算(makearray'(3 3)) 引号字符表示文字。如果你说”(li co),你有一个由符号li和co组成的列表。要实际获取绑定到这些符号的值,需要使用函数list: (make-array 3 3) 还要注意came

这是行不通的,它说李和他的同事是非法的,尽管我举个例子:

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

这根本不起作用。有人知道为什么吗?

生成数组
将列表中的数组维度作为其第一个参数。要创建一个包含三行三列的二维数组,您需要计算
(makearray'(3 3))

引号字符表示文字。如果你说
”(li co)
,你有一个由符号
li
co
组成的列表。要实际获取绑定到这些符号的值,需要使用函数
list

(make-array 3 3)
还要注意camelCase不是惯用的lisp;您应该用破折号分隔符号名称中的单词。

可能重复的可能重复的
(defun make-ar (li co)
  (make-array (list li co))