一覧にある関数はとりあえず、使えそうな関数です。
現在のところ、確認は、2.6.10で行っています。
文字(charactor)は一文字を表すコード(Unicode)で、#x0〜#x10FFFF の範囲から、#xD800〜#xDFFFの範囲を除いた値をとります。
文字 | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#\ | |||||||||||||||||||||||||||||||||
文字定数の始まり 文字定数は #\ に続く文字で表されます。
| |||||||||||||||||||||||||||||||||
( char? v ) | boolean | ||||||||||||||||||||||||||||||||
文字か? v が文字の場合は #t、それ以外は #fを返す。 | |||||||||||||||||||||||||||||||||
( char->integer c) | 数値 | ||||||||||||||||||||||||||||||||
文字コード 文字コードを返します。 (char->integer #\A) 65 (map char->integer (string->list "漢字")) (28450 23383) | |||||||||||||||||||||||||||||||||
( integer->char code) | char | ||||||||||||||||||||||||||||||||
指定コードの文字 指定コードの文字を返します。 (integer->char 65) #\A (map integer->char '(28450 23383)) (#\" #\W) (list->string (map integer->char '(28450 23383))) "漢字" | |||||||||||||||||||||||||||||||||
( char=? | boolean | ||||||||||||||||||||||||||||||||
文字が等しい すべての引数が、同じコードならば #t、そうでなければ #f を返す。 (char=? #\a #\a) #t (char=? #\a #\A) #f (char=? #\a #\a #\A) #t 以下、比較関数が続きますが、いずれも、二つ以上の比較はうまく動きません!!。 | |||||||||||||||||||||||||||||||||
( char<? | booelan | ||||||||||||||||||||||||||||||||
文字は小さいか a が b より内部コードが小さければ #t、そうでなければ #f。
(char>? #\A #\a)
#t
| |||||||||||||||||||||||||||||||||
( char<=? | boolean | ||||||||||||||||||||||||||||||||
大きくない a が b より内部コードが小さいか、等しければ #t、そうでなければ #f。 | |||||||||||||||||||||||||||||||||
( char>? | boolean | ||||||||||||||||||||||||||||||||
大きい a が b より内部コードが大きければ #t、そうでなければ #f。 | |||||||||||||||||||||||||||||||||
( char>=? | boolean | ||||||||||||||||||||||||||||||||
小さくない a が b より内部コードが大きいか、等しければ #t、そうでなければ #f。 | |||||||||||||||||||||||||||||||||
( char-ci=? | boolean | ||||||||||||||||||||||||||||||||
等しい すべての引数が、大文字小文字を区分せずに等しければ #t、そうでなければ #f。 (char-ci=? #\a #\A) #t ( apply char-ci=? (string->list "Ωω")) #t | |||||||||||||||||||||||||||||||||
( char-ci<? | boolean | ||||||||||||||||||||||||||||||||
小さい a が b より、大文字小文字を区分せずに小さければ #t、そうでなければ #f。 | |||||||||||||||||||||||||||||||||
( char-ci<=? | boolean | ||||||||||||||||||||||||||||||||
大きくない a が b より、大文字小文字を区分せずに、小さいか、等しければ #t、そうでなければ #f。 | |||||||||||||||||||||||||||||||||
( char-ci>? | boolean | ||||||||||||||||||||||||||||||||
大きい a が b より、大文字小文字を区分せずに大きければ #t、そうでなければ #f。 | |||||||||||||||||||||||||||||||||
( char-ci>=? | boolean | ||||||||||||||||||||||||||||||||
小さくない a が b より、大文字小文字を区分せずに、大きいか、等しければ #t、そうでなければ #f。 | |||||||||||||||||||||||||||||||||
( char-alphabetic? | boolean | ||||||||||||||||||||||||||||||||
英語のアルファベットか? 文字がアルファベットに相当すれば #t、そうでなければ #f。
(map char-alphabetic? (string->list "Ab0#A"))
(#t #t #f #f #t)
全角の文字(A)でもアルファベット扱いされています。 | |||||||||||||||||||||||||||||||||
( char-lower-case? | boolean | ||||||||||||||||||||||||||||||||
小文字か? c が小文字ならば #t、そうでなければ #fを返す。
(map char-lower-case? (string->list "aAωΩaA0"))
(#t #f #t #f #t #f #f)
半角英字以外も判定されていることがわかります。 | |||||||||||||||||||||||||||||||||
( char-upper-case? | boolean | ||||||||||||||||||||||||||||||||
大文字か? c が大文字ならば #t、そうでなければ #fを返す。
(map char-upper-case? (string->list "aAωΩaA0"))
(#f #t #f #t #f #t #f)
| |||||||||||||||||||||||||||||||||
( char-numeric? | 戻り値 | ||||||||||||||||||||||||||||||||
数字か? c が数字ならば #t、そうでなければ #fを返す。
(map char-numeric? (string->list "abc00三V"))
(#f #f #f #t #t #f #f)
半角数字と全角数字が数字として判定されています。 | |||||||||||||||||||||||||||||||||
( char-whitespace? | boolean | ||||||||||||||||||||||||||||||||
空白か? c が空白扱いされる文字ならば、#t、そうでなければ #t を返す。
(map char-whitespace? (string->list " \t\x01[ ]"))
(#t #t #f #f #t #f)
| |||||||||||||||||||||||||||||||||
( char-upcase | char | ||||||||||||||||||||||||||||||||
大文字化 c を大文字にして返す。
(list->string (map char-upcase (string->list "abcabcωбB")))
"ABCABCΩБB"
半角英字、全角英字、ギリシャ文字、ロシア文字が処理されています。ローマ数字のBは処理されませんでした。 | |||||||||||||||||||||||||||||||||
( char-downcase | 戻り値 | ||||||||||||||||||||||||||||||||
小文字化 c を小文字にして返す。
(list->string (map char-downcase (string->list "ABCABCΩБV")))
"abcabcωбV"
|