Mercury Programming/Types
Appearance
Types
[edit | edit source]Char
[edit | edit source]A value of type 'char' is a single unicode character (implemented using UTF8 encoding and so may occupy 1 to 4 bytes). There are several ways to specify a 'char' as a literal value:
- As an ordinary character between single quotes, for example
'a'- unless:- the character is a single quote, in which case use 4 single quotes:
'''', or use 3 single quotes and with a backslash as the second character:'\''. - the character is a backslash, in which case use 2 backslashes between single quotes:
'\\'. - the character is the double quote, in which case put it between single quotes:
'”', or give it a leading backslash and put them between single quotes:'\”'.
- the character is a single quote, in which case use 4 single quotes:
- As a hexadecimal value giving the Unicode code point (see Unicode) of the required character; the hexadecimal value must have a leading 'x', placed between '\' characters, which are in turn placed between single quotes, for example
'\x63\'(equivalent to the character 'c').
- As an octal value giving the Unicode code point of the required character; the octal value must be placed between '\' characters, which are in turn placed between single quotes, for example
'\251\'(equivalent to the character '©').
- As a 4 digit hexadecimal value giving the Unicode code point of the required character; the value must be prefixed with '\u', and the result placed between single quotes, for example
'\u00B5'(equivalent to the Greek lower case character μ).
- As an 8 digit hexadecimal value giving the Unicode code point of the required character; the value must be prefixed with '\U', and the result placed between single quotes, for example
'\U000000B1'(equivalent to the character '±'). Note that the highest allowed value is'\U0010FFFF'.
- Several special characters can be specified as shown in the table below:
| Character | Specified Using |
|---|---|
| beep | '\a'
|
| backspace | '\b'
|
| carriage return | '\r'
|
| form feed | '\f'
|
| tab | '\t'
|
| new line | '\n'
|
| vertical tab | '\v'
|
A simple Mercury program demonstrating 'char' literals is in Section A.1