[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.11 文字集合

Builtin Class: <char-set>

文字の集合を取り扱う、文字集合(キャラクタセット)のクラスです。 Gaucheは文字集合オブジェクトのサポートと、 ある文字がその集合に属するかどうかを調べる手続きを言語組み込みで持っています。

文字集合に関する他の操作、例えば集合演算などは、SRFI-14モジュール (srfi-14 - 文字集合ライブラリ参照) で提供されています。

Reader Syntax: #[char-set-spec]

この構文で、リテラル文字集合を記述することができます。 char-set-specには集合に含める文字を列挙します。 次の特殊なシーケンスを含めることができます。

x-y

文字xと文字yの間の文字全て。xyも含みます。 xyよりも内部文字コードで比較して小さくなければなりません。

^

カレットがchar-set-specの最初に来た場合、以降に示される文字集合の 補集合がこの文字集合となります。

\xNN

内部文字コードNN(16進数表記)の文字。

\uNNNN

UnicodeのUCS-2でNNNN(16進数表記4桁)の文字。

\UNNNNNNNN

UnicodeのUCS-4でNNNNNNNN(16進数表記8桁)の文字。

\s

空白文字。

\S

空白でない文字。(\sの補集合)

\d

10進数の数字

\D

\dの補集合

\w

単語を構成する文字の集合(アルファベット、数字、アンダースコア)

\W

\Wの補集合

\\

バックスラッシュ文字

\-

マイナス文字

\^

カレット文字

[:alnum:] …

POSIX流文字集合表記。以下の文字集合名が認識されます: alnum, alpha, blank, cntrl, digit, graph, lower, print, punct, space, upper, xdigit

 
#[aeiou]     ; 母音文字'a', 'e', 'i', 'o', 'u'の集合
#[a-zA-Z]    ; アルファベット
#[[:alpha:]] ; アルファベット (POSIX表記)
#[\x0d\x0a]  ; 改行とリターン
#[\\\-]      ; バックスラッシュとマイナス文字
#[]          ; 空の文字集合
#[ぁ-ん]     ; 平仮名の集合
Function: char-set? obj

[SRFI-14] objが文字集合であれば真の値を返します。

Function: char-set-contains? char-set char

[SRFI-14] 文字集合char-setが文字charを含んでいれば真の値を返します。

 
(char-set-contains? #[a-z] #\y) ⇒ #t
(char-set-contains? #[a-z] #\3) ⇒ #f

(char-set-contains? #[^ABC] #\A) ⇒ #f
(char-set-contains? #[^ABC] #\D) ⇒ #t

(char-set-contains? #[あ-お] #\う) ⇒ #t
(char-set-contains? #[あ-お] #\ぷ) ⇒ #f
Function: char-set char …

[SRFI-14] 文字char … からなる文字集合を作成して返します。

 
(char-set #\a #\b #\c)   ⇒ #[a-c]
(char-set #\あ #\い #\う) ⇒ #[あいう]
Function: char-set-copy char-set

[SRFI-14] char-setのコピーを作って返します。

Function: char-set-complement char-set
Function: char-set-complement! char-set

[SRFI-14] char-setの補集合を返します。上の手続きは常に新たな集合を作って返しますが、 下の手続きは引数を変更して返す可能性があります。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated by Shiro Kawai on May 28, 2012 using texi2html 1.82.