如何在LISP函数中创建一个接收大小的数组作为参数?

时间:2013-11-01 12:17:43

标签: arrays lisp

我正在尝试创建一个接收多个行和列的函数,并从中创建一个数组。 这就是我所做的

(defun create-table (lines columns)
     (make-array '(lines columns)))

我认为这就是你制作多维数组的方法。但是当我调用函数create-table例如(create-table 2 2)时,会给出错误

  

MAKE-ARRAY:维度LINES不是`(INTEGER 0         (,ARRAY-DIMENSION-LIMIT))

我不明白,怎么可能不是整数?我应该演员吗?

2 个答案:

答案 0 :(得分:6)

您认为'(lines columns)评估的是什么?

提示:您可以使用函数LIST创建列表。

答案 1 :(得分:0)

您的功能出错

试试这个

(defun create-table (lines columns)
 (make-array `(,lines ,columns)))