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