Library
Module
Module type
Parameter
Class
Class type
Functions for working with single characters.
Functions for working with single characters.
Character literals are enclosed in 'a'
pair of single quotes.
let digit = '7'
The functions in this module work on ASCII characters (range 0-255) only, not Unicode.
Since character 128 through 255 have varying values depending on what standard you are using (ISO 8859-1 or Windows 1252), you are advised to stick to the 0-127 range.
You can also create a Char
using single quotes:
let char = 'c'
Convert an ASCII code point to a character.
Returns None
if the codepoint is outside the range of 0 to 255 inclusive.
Examples
Char.fromCode 65 = Some 'A'
Char.fromCode 66 = Some 'B'
Char.fromCode 3000 = None
Char.fromCode (-1) = None
The full range of extended ASCII is from 0
to 255
. For numbers outside that range, you get None
.
Converts a string to character. Returns None when the string isn't of length one.
Examples
Char.fromString "A" = Some 'A'
Char.fromString " " = Some ' '
Char.fromString "" = None
Char.fromString "abc" = None
Char.fromString " a" = None
Detect lower case ASCII characters.
Examples
Char.isLowercase 'a' = true
Char.isLowercase 'b' = true
Char.isLowercase 'z' = true
Char.isLowercase '0' = false
Char.isLowercase 'A' = false
Char.isLowercase '-' = false
Detect upper case ASCII characters.
Examples
Char.isUppercase 'A' = true
Char.isUppercase 'B' = true
Char.isUppercase 'Z' = true
Char.isUppercase 'h' = false
Char.isUppercase '0' = false
Char.isUppercase '-' = false
Detect upper and lower case ASCII alphabetic characters.
Examples
Char.isLetter 'a' = true
Char.isLetter 'b' = true
Char.isLetter 'E' = true
Char.isLetter 'Y' = true
Char.isLetter '0' = false
Char.isLetter '-' = false
Detect when a character is a number
Examples
Char.isDigit '0' = true
Char.isDigit '1' = true
Char.isDigit '9' = true
Char.isDigit 'a' = false
Char.isDigit 'b' = false
Detect upper case, lower case and digit ASCII characters.
Examples
Char.isAlphanumeric 'a' = true
Char.isAlphanumeric 'b' = true
Char.isAlphanumeric 'E' = true
Char.isAlphanumeric 'Y' = true
Char.isAlphanumeric '0' = true
Char.isAlphanumeric '7' = true
Char.isAlphanumeric '-' = false
Detect if a character is a printable character
A Printable character has a Char.toCode
in the range 32 to 127, inclusive (' '
to '~'
).
Examples
Char.isPrintable 'G' = true
Char.isPrintable '%' = true
Char.isPrintable ' ' = true
Char.isPrintable '\t' = false
Char.isPrintable '\007' = false
Detect one of the following characters:
'\t'
(tab)'\n'
(newline)'\011'
(vertical tab)'\012'
(form feed)'\r'
(carriage return)' '
(space)Examples
Char.isWhitespace '\t' = true
Char.isWhitespace ' ' = true
Char.isWhitespace '?' = false
Char.isWhitespace 'G' = false
Converts an ASCII character to lower case, preserving non alphabetic ASCII characters.
Examples
Char.toLowercase 'A' = 'a'
Char.toLowercase 'B' = 'b'
Char.toLowercase '7' = '7'
Convert an ASCII character to upper case, preserving non alphabetic ASCII characters.
Examples
toUppercase 'a' = 'A'
toUppercase 'b' = 'B'
toUppercase '7' = '7'
Convert to the corresponding ASCII code point
cp
.
cp
: https://en.wikipedia.org/wiki/Code_point
Examples
Char.toCode 'A' = 65
Char.toCode 'B' = 66
Convert a character into a string.
Examples
Char.toString 'A' = "A"
Char.toString '{' = "{"
Char.toString '7' = "7"
Converts a digit character to its corresponding Int
.
Returns None
when the character isn't a digit.
Examples
Char.toDigit "7" = Some 7
Char.toDigit "0" = Some 0
Char.toDigit "A" = None
Char.toDigit "" = None
The unique identity for Comparator