[LISPWORKS][Common Lisp HyperSpec (TM)] [Previous][Up][Next]


Accessor CHAR, SCHAR

Syntax:

char string index => character

schar string index => character

(setf (char string index) new-character)

(setf (schar string index) new-character)

Arguments and Values:

string---for char, a string; for schar, a simple string.

index---a valid array index for the string.

character, new-character---a character.

Description:

char and schar access the element of string specified by index.

char ignores fill pointers when accessing elements.

Examples:

 (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"

Affected By: None.

Exceptional Situations: None.

See Also:

aref, elt, Section 3.2.1 (Compiler Terminology)

Notes:

 (char s j) ==  (aref (the string s) j)


The following X3J13 cleanup issue, not part of the specification, applies to this section:


[Starting Points][Contents][Index][Symbols][Glossary][Issues]
Copyright 1996-2005, LispWorks Ltd. All rights reserved.