配列を縮小したい - lisp-cookbook-ja/common-lisp GitHub Wiki

配列

Common Lispの配列にはfill-pointerが設定でき、決められた範囲内で終端を設定することが可能です。但し、fill-pointerの有無は配列生成時に指定する必要があります。

(let ((vec (make-array 10 :fill-pointer t)))
  (setf (fill-pointer vec) 3)
  vec)
;=>  #(0 0 0)

また、単にsubseqでコピーすることでも目的は達成できることもあるでしょう。

(subseq #(1 2 3 4 5) 0 3)
;=>  #(1 2 3)