R6RS:翻訳:Standard Libraries:1.1 Characters

R6RS:翻訳:Standard Libraries:1.1 Characters

1.1 文字

[procedure] (char-upcase char)

[procedure] (char-downcase char)

[procedure] (char-titlecase char)

[procedure] (char-foldcase char)

これらの手続きは文字を引き数に取り文字を返す。文字が大文字か語頭文字の場合で、その小文字版がただひとつだけある場合、 char-downcase はその文字を返す。引き数が小文字や語頭文字である場合で、その大文字版がただひとつある場合、 char-upcase はその文字を返す。引き数が大文字か小文字である場合で、その語頭文字版がひとつある場合、 char-titlecase はその大文字を返す。引き数が語頭文字でなく、その語頭文字版の文字がひとつもない場合、 char-titlecase はその大文字版を返す。最後に、文字に case fold したものがあった場合、char-foldcase はその文字を返す。それ以外の場合、戻り値の文字は引き数と同一である。トルコ文字の I. (#\x130)と ? (#\x131)に対して、char-foldcase は恒等関数として働く。それ以外の場合は char-foldcase は char-downcase と char-upcase の組み合わせと同一である。

(char-upcase #\i)         ⇒ #\I
(char-downcase #\i)         ⇒ #\i
(char-titlecase #\i)         ⇒ #\I
(char-foldcase #\i)         ⇒ #\i

(char-upcase #\ß)         ⇒ #\ß
(char-downcase #\ß)         ⇒ #\ß
(char-titlecase #\ß)         ⇒ #\ß
(char-foldcase #\ß)         ⇒ #\ß

(char-upcase #\Σ)         ⇒ #\Σ
(char-downcase #\Σ)         ⇒ #\σ
(char-titlecase #\Σ)         ⇒ #\Σ
(char-foldcase #\Σ)         ⇒ #\σ

(char-upcase #\ς)         ⇒ #\Σ
(char-downcase #\ς)         ⇒ #\ς
(char-titlecase #\ς)         ⇒ #\Σ
(char-foldcase #\ς)         ⇒ #\σ

: char-titlecase は常に語頭文字を返すわけではない。

: これらの手続きは Unicode のロカール非依存の大文字、小文字、 titlecase、 case folding 操作のスカラー値からスカラー値への対応づけと一貫性がある。

これらの文字に基いた手続きは利用者のロカールを無視した大文字小文字変換の不完全な近似であることに注意。一般に、文字の対応づけには引き数にも戻り値にも文字列の文脈が必要である。string-upcase、 string-downcase、 string-titlecase、 string-foldcase (R6RS:翻訳:Standard Libraries:1.2 Strings)はより一般的な文字変換を行なう。

[procedure] (char-ci=? char1 char2 char3 ...)

[procedure] (char-ci<? char1 char2 char3 ...)

[procedure] (char-ci>? char1 char2 char3 ...)

[procedure] (char-ci<=? char1 char2 char3 ...)

[procedure] (char-ci>=? char1 char2 char3 ...)

これらの手続きは char=? と類似であるが、case fold された文字について動作する。

(char-ci<? #\z #\Z)         ⇒ #f
(char-ci=? #\z #\Z)         ⇒ #t
(char-ci=? #\ς #\σ)         ⇒ #t

[procedure] (char-alphabetic? char)

[procedure] (char-numeric? char)

[procedure] (char-whitespace? char)

[procedure] (char-upper-case? char)

[procedure] (char-lower-case? char)

[procedure] (char-title-case? char)

これらの手続きは順に引き数が、アルファベット、数字、空白文字、大文字、小文字、title case の文字であれば #t を返し、そうでなければ #f を返す。

文字が Unicode の "Alphabetic" 属性を持っている場合文字はアルファベットである。文字が Unicode の "Numeric" 属性を持っている場合文字は数字である。文字が Unicode の "White_Space" 属性を持っている場合文字は空白文字である。文字が Unicode の "Uppercase" 属性を持っている場合文字は大文字である。文字が Unicode の "Lowercase" 属性を持っている場合文字は小文字である。 Lt 一般カテゴリに属している場合 title case である。

(char-alphabetic? #\a)         ⇒ #t
(char-numeric? #\1)         ⇒ #t
(char-whitespace? #\space)         ⇒ #t
(char-whitespace? #\x00A0)         ⇒ #t
(char-upper-case? #\Σ)         ⇒ #t
(char-lower-case? #\σ)         ⇒ #t
(char-lower-case? #\x00AA)         ⇒ #t
(char-title-case? #\I)         ⇒ #f
(char-title-case? #\x01C5)         ⇒ #t

[procedure] (char-general-category char)

Unicode の一般カテゴリを表すシンボルを返す。シンボルは Lu、 Ll、 Lt、 Lm、 Lo、 Mn、 Mc、 Me、 Nd、 Nl、 No、 Ps、 Pe、 Pi、 Pf、 Pd、 Pc、 Po、 Sc、 Sm、 Sk、 So、 Zs、 Zp、 Zl、 Cc、 Cf、 Cs、 Co、 Cn のいずれかである。

(char-general-category #\a)         ⇒ Ll
(char-general-category #\space) 
                ⇒ Zs
(char-general-category #\x10FFFF) 
                ⇒ Cn  

Last modified : 2008/03/17 09:41:27 UTC