Skip to main content

character

character Function

Syntax:

character character → denoted-character

Arguments and Values:

character—a character designator .

denoted-character—a character .

Description:

Returns the character denoted by the character designator .

Examples:

(character #\a) → #\a 
(character "a") → #\a
(character ’a) → #\A
(character ’\a) → #\a
(character 65.) is an error.
(character ’apple) is an error.

Exceptional Situations:

Should signal an error of type type-error if object is not a character designator .

See Also:

coerce

Notes:

(character object) (coerce object ’character)

Expanded Reference: character

Converting a character to itself

When given a character object, character simply returns it.

(character #\a)
=> #\a
(character #\Z)
=> #\Z
(character #\Space)
=> #\Space

Converting a single-character string

A string of length one is a valid character designator.

(character "a")
=> #\a
(character "Z")
=> #\Z
(character " ")
=> #\Space

Converting a symbol with a single-character name

A symbol whose name is a single character is also a valid character designator. Note that symbol names are typically uppercase by default.

(character 'a)
=> #\A
(character 'z)
=> #\Z

Invalid designators signal an error

Multi-character strings, multi-character symbol names, and numbers are not valid character designators.

;; These signal errors:
;; (character "abc") ; error: not a character designator
;; (character 65) ; error: not a character designator
;; (character 'apple) ; error: not a character designator

Equivalence with coerce

The character function is equivalent to (coerce object 'character).

(eql (character "x") (coerce "x" 'character))
=> T
(eql (character #\y) (coerce #\y 'character))
=> T
(eql (character 'z) (coerce 'z 'character))
=> T