On Jun 30, 9:32 am, Francogrex <······@grex.org> wrote:
> > (setf StoreArray (make-array '(rows 2)))
>
> MAKE-ARRAY: dimension ROWS is not of type `(INTEGER 0 (,ARRAY-
> DIMENSION-LIMIT))
>
> How can I force "make-array" to recognize that "rows" represents a
> value of 5?
Make-array is a normal function, it does not do anything special with
the arguments it got. It's up to you to supply it a list of integers
as first argument.
So the question becomes: how to create a list with two values, the
value of "rows" and 2. For that you need to get rid of the quote (')
as that prevents evaluation of the symbol "rows"; use function LIST
instead. Read more about quoting here:
http://gigamonkeys.com/book/syntax-and-semantics.html#special-operators
By the way, you should use defparameter or defvar (not setf) to create
global variables:
http://gigamonkeys.com/book/variables.html#dynamic-aka-special-variables
That whole book is a great introduction to Lisp, by the way.
- Willem