複数の要素を変更する - lisp-cookbook-ja/common-lisp GitHub Wiki
配列
複数の要素を変更する
setf と subseq を組み合わせることにより読み出した列に値を格納できます。
格納する値が切り出した配列のサイズより大きい場合は、切り出したサイズに切り詰められます。
(let ((a (vector 1 2 3 4 5)))
(setf (subseq a 2)
(nreverse (subseq a 2)))
a)
;=> #(1 2 5 4 3)
(let ((a (vector 1 2 3 4 5)))
(setf (subseq a 2)
#(a b c d e f g))
a)
;=> #(1 2 A B C)