【发布时间】:2014-11-08 13:03:32
【问题描述】:
(defun makeAr(li co)
(make-array '(li co)))
这不起作用,它说 li 和 co 是非法参数,尽管我称之为例如:
(make-array 3 3)
这根本行不通。有谁知道为什么?
【问题讨论】:
标签: lisp common-lisp
(defun makeAr(li co)
(make-array '(li co)))
这不起作用,它说 li 和 co 是非法参数,尽管我称之为例如:
(make-array 3 3)
这根本行不通。有谁知道为什么?
【问题讨论】:
标签: lisp common-lisp
make-array 将列表中的数组维度作为其第一个参数。要创建一个三行三列的二维数组,您需要计算 (make-array '(3 3))。
引号字符表示文字。如果你说'(li co),你有一个由符号li 和co 组成的列表。要真正获得绑定到这些符号的值,您需要使用函数list 形成列表:
(defun make-ar (li co)
(make-array (list li co))
还要注意 camelCase 不是惯用的 lisp;您应该用破折号分隔符号名称中的单词。
【讨论】: