CSC151.01 2009F Functional Problem Solving : Reference

Characters


Converting Characters

(char->integer ch)
Standard Character Procedure. Get ch's position in the collating sequence.
(integer->char n)
Standard Character Procedure. Get the nth character in the collating sequence.
(char-downcase ch)
Standard Character Procedure. If ch is an upper-case character (#\A, #\B, ... #\Z, in ASCII; potentially other characters in other character sets), return the corresponding lower-case character. Otherwise, return the same character.
(char-upcase ch)
Standard Character Procedure. If ch is a lower-case character (#\a, #\b, ... #\z, in ASCII; potentially other characters in other character sets), return the corresponding upper-case character (#\A for #\a, #\B for #\b, etc.). Otherwise, return the same character.

Character Predicates

(char? val)
Standard Character Predicate. Determine if val is a character.
(char-alphabetic? ch)
Standard Character Predicate. Determine if ch (which must be a character) is an alphabetic character (in English, #\a, #\b, ... #\z, #\A, #\B, ...., #\Z).
(char-numeric? ch)
Standard Character Predicate. Determine if ch (which must be a character) represents a digit in a number (traditionally, #\0, #\1, ... #\9, although other systems have different numeric characters).
(char-whitespace? ch)
Standard Character Predicate. Determine if ch (which must be a character) represents a whitespace character, such as a space, a tab, or a newline.
(char-lower-case? ch)
Standard Character Predicate. Determine if ch (which must be a character) represents a lower-case character (in English, #\a, #\b, ... #\z).
(char-upper-case? ch)
Standard Character Predicate. Determine if ch (which must be a character) represents an upper-case character (in English, #\a, #\b, ... #\z).

Comparing Characters

(char<? ch1 ch2)
Standard Character Comparator. Determine if ch1 precedes ch2 in the collating sequence. Both ch1 and ch2 must be characters.
(char<=? ch1 ch2)
Standard Character Comparator. Determine if ch1 equals ch2 or if ch1 precedes ch2 in the collating sequence. Both ch1 and ch2 must be characters.
(char=? ch1 ch2)
Standard Character Comparator. Determine if ch1 and ch2 are the same. Both ch1 and ch2 must be characters.
(char>=? ch1 ch2)
Standard Character Comparator. Determine if ch1 and ch2 are equal or if ch1 follows ch2 in the collating sequence. Both ch1 and ch2 must be characters.
(char>? ch1 ch2)
Standard Character Comparator. Determine if ch1 follows ch2 in the collating sequence. Both ch1 and ch2 must be characters.
(char-ci<? ch1 ch2)
Standard Character Comparator. If both ch1 and ch2 are alphabetic characters (letters), determine if ch1 naturally precedes ch2, ignoring case. If either is not alphabetic, determine if ch1 precedes ch2 in the collating sequence. Both ch1 and ch2 must be characters.
(char-ci<=? ch1 ch2)
Standard Character Comparator. If both ch1 and ch2 are alphabetic characters (letters), determine if ch1 naturally precedes or equals ch2, ignoring case. If either is not alphabetic, determine if ch1 equals ch2 or if ch1 precedes ch2 in the collating sequence. Both ch1 and ch2 must be characters.
(char-ci=? ch1 ch2)
Standard Character Comparator. If both ch1 and ch2 are alphabetic characters (letters), determine if ch1 and ch2 represent the same letter, ignoring case. If either is not alphabetic, determine if ch1 follows ch2 in the collating sequence. Both ch1 and ch2 must be characters.
(char-ci>=? ch1 ch2)
Standard Character Comparator. If both ch1 and ch2 are alphabetic characters (letters), determine if ch1 naturally follows or equals ch2, ignoring case. If either is not alphabetic, determine if ch1 equals ch2 or if ch1 follows ch2 in the collating sequence. Both ch1 and ch2 must be characters.
(char-ci>? ch1 ch2)
Standard Character Comparator. If both ch1 and ch2 are alphabetic characters (letters), determine if ch1 naturally follows ch2, ignoring case. If either is not alphabetic, determine if ch1 follows ch2 in the collating sequence. Both ch1 and ch2 must be characters.

Creative Commons License

Samuel A. Rebelsky, rebelsky@grinnell.edu

Copyright (c) 2007-9 Janet Davis, Matthew Kluber, Samuel A. Rebelsky, and Jerod Weinman. (Selected materials copyright by John David Stone and Henry Walker and used by permission.)

This material is based upon work partially supported by the National Science Foundation under Grant No. CCLI-0633090. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

This work is licensed under a Creative Commons Attribution-NonCommercial 2.5 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/2.5/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.