Jeśli łańcuch ma wskaźnik wypełnienia i może być również regulowany.
Adjustable = może zmienić swój rozmiar.
wskaźnik wypełnienia = rozmiar treści, długość, może być mniejsza niż rozmiar ciągu.
VECTOR-PUSH
= dodaj element na końcu i zwiększ wskaźnik wypełnienia.
VECTOR-PUSH-EXTEND
= jako VECTOR-PUSH
, dodatkowo zmienia rozmiar tablicy, jeśli jest za mała.
Możemy regulowany ciąg z normalnym One:
CL-USER 32 > (defun make-adjustable-string (s)
(make-array (length s)
:fill-pointer (length s)
:adjustable t
:initial-contents s
:element-type (array-element-type s)))
MAKE-ADJUSTABLE-STRING
CL-USER 33 > (let ((s (make-adjustable-string "Lisp")))
(vector-push-extend #\! s)
s)
"Lisp!"
lub niejasną alternatywą, upewnij się, że można skompilować ciąg FORMAT. –