rsc3/doc-schelp/HelpSource/Classes/Char.schelp

107 lines
2.5 KiB
Text

class::Char
summary::ASCII character
related::Classes/String
categories:: Core
description::
An ASCII character represented as a signed 8-bit integer (-128 to 127).
Valid ASCII values are in the range 0-127.
Chars may be written as literals using the $ sign. For example: $a, $b, $c.
Some special characters can be expressed as literals using escape sequences (for example, code::$\n:: for newline).
See link::Reference/Literals#Characters:: for more information.
Chars may be created from link::Classes/Integer##Integers:: using the methods link::Classes/Integer#-asAscii:: and link::Classes/Integer#-asDigit::.
Note that, while Char does not support encodings aside from ASCII—such as
multi-byte encodings like UTF-8 and UTF-16, or the full Latin-1 (ISO 8859-1)
character set—Chars with negative values are perfectly legal, and may be strung
together in strings that use these encodings.
The SuperCollider IDE uses UTF-8 to decode and display strings.
See link::Classes/String:: for more information.
classmethods::
method::nl
Newline code::($\n)::.
method::ret
Carriage return code::($\r)::.
method::tab
Horizontal tab code::($\t)::.
method::ff
Form feed code::($\f)::.
method::vtab
Vertical tab code::($\v)::.
method::space
Single space code::($ )::.
method::comma
Comma code::($,)::.
method::bullet
Asterisk code::($*)::.
instancemethods::
private:: archiveAsCompileString
subsection::conversion
method::ascii
returns:: the integer ASCII value of a Char.
method::digit
returns:: an integer value from 0 to 9 for chars $0 to $9, and values 10 to 35 for chars $a to $z
or $A to $Z.
method::toUpper
returns:: the upper case version of a char. Nonalphabetic chars return themselves.
method::toLower
returns:: a lower case version of a char. Nonalphabetic chars return themselves.
subsection:: Testing
method::isAlpha
returns:: whether the char is an alphabetic character.
method::isAlphaNum
returns:: whether the char is an alphabetic or numeric character.
method::isPrint
returns:: whether the char is printable.
method::isPunct
returns:: whether the char is a punctuation character.
method::isSpace
returns:: true if the char is white space: any of code::[$ , $\f, $\n, $\r, $\t, $\v]::.
method::isDecDigit
returns:: true if the char is a decimal digit $0 to $9.
method::isFileSafe
returns:: true if the char is safe for use in a filename.
Excludes the path separators / and :
discussion::
code::
for(0,255,{ arg i;
var a;
[i,a = i.asAscii,a.isAlphaNum,a.isPrint,a.isPunct,a.isControl].postln;
});
::