char, schar
char string index → character
schar string index → character
(setf (char string index) new-character)
(setf (schar string index) new-character)
18.1.0 4string—for char, a string; for schar, a simple string.
index—a valid array index for the string.
character, new-character—a character.
18.1.0 3char and schar access the element of string specified by index. This is now said in the concept stuff.
\param{Index} is an offset from the beginning
of \param{string}; indexing is zero-origin.
char ignores fill pointers when accessing elements.
KAB: Implied by "access". \macref{setf} can be used with \funref{char} or \funref{schar} to destructively replace an \term{element} of the \param{string}.
(setq my-simple-string (make-string 6 :initial-element #\A)) → "AAAAAA"
(schar my-simple-string 4) → #\A
(setf (schar my-simple-string 4) #\B) → #\B
my-simple-string → "AAAABA"
(setq my-filled-string
(make-array 6 :element-type 'character
:fill-pointer 5
:initial-contents my-simple-string))
→ "AAAAB"
(char my-filled-string 4) → #\B
(char my-filled-string 5) → #\A
(setf (char my-filled-string 3) #\C) → #\C
(setf (char my-filled-string 5) #\D) → #\D
(setf (fill-pointer my-filled-string) 6) → 6
my-filled-string → "AAACBD"
None.
None.
aref, elt, Section 3.2.1 (Compiler Terminology)
(char s j) ≡ (aref (the string s) j)