指定した長さの配列を作成する - lisp-cookbook-ja/common-lisp GitHub Wiki

配列

make-arrayに長さを指定することで任意の長さの配列を生成することが可能です。

(make-array 10 :initial-element 'e)

また、#(リーダーマクロによりREAD時に生成することも可能です。

;; #10(e) ≡ #.(make-array 10 :initial-element 'e)
#10(e)
;⇒ #(E E E E E E E E E E)

なお、生成されるタイミングにより生成されるオブジェクトも変ってきます。

(defun mkvector ()
  (let ((w #(e e e e e e e e e e))     ;READ時に生成
        (x #10(e))                     ;READ時に生成
        (y #.(make-array 10 :initial-element 'e)) ;READ時に生成
        (z (make-array 10 :initial-element 'e)))  ;実行時に生成
    (list w x y z)))

(mapcar #'eq
        (mkvector)
        (mkvector))
;⇒ (T T T NIL)

(mapcar #'equalp
        (mkvector)
        (mkvector))
;⇒ (T T T T)