配列を空にする - lisp-cookbook-ja/common-lisp GitHub Wiki
配列を空にする
配列の要素を削除して空にする訳ではありませんが、フィルポインタ付きのベクタの場合、フィルポインタを0にセットすることにより空にすることが可能です。FIXME
(let ((a (make-array 3 :adjustable T
:fill-pointer 3
:initial-contents '(1 2 3))))
(print a)
(setf (fill-pointer a) 0) ;フィルポインタを0にセット
(print a) ;#()になった
(vector-push 'a a) ;'Aをプッシュ
(print a)) ;#(A)になった
;-> #(1 2 3)
;-> #()
;-> #(A)
;=> #(A)