For Gauche 0.9.5


Next: , Previous: , Up: ライブラリモジュール - SRFI   [Contents][Index]

11.7 srfi-14 - 文字集合ライブラリ

Module: srfi-14

SRFI-14で定義された文字集合ライブラリを実装します (SRFI-14)。 以下の文字集合手続きはGauche組み込みになっているので、文字集合を参照してください。

char-set char-set? char-set-contains? char-set-copy
char-set-complement char-set-complement!

Gaucheでは<char-set>クラスは<collection>を継承し、 コレクションプロトコルを実装しているので、gauche.collectionモジュールで 提供される操作も使えます (コレクションフレームワーク参照)。


Next: , Previous: , Up: 文字集合ライブラリ   [Contents][Index]

11.7.1 文字セットの構築子

Function: list->char-set char-list :optional base-cs
Function: list->char-set! char-list base-cs

[SRFI-14] 与えられた文字のリストchar-listから文字セットを構築して返します。 文字セットbase-csが与えられていた場合、返される文字セットは その文字セットにchar-list中の文字を追加したものとなります。 list->char-set!は、結果を格納するためにbase-csを 変更するかもしれません。

Function: string->char-set s :optional base-cs
Function: string->char-set! s base-cs

[SRFI-14] 追加する文字をリストでなく文字列sで与えることを除けば list->char-setlist->char-set!と同じです。

Function: char-set-filter pred char-set :optional base-cs
Function: char-set-filter! pred char-set base-cs

[SRFI-14] char-set内の文字のうち、(pred c) が真の値を 返すようなcからなる文字セットを作成して返します。 文字セットbase-csが与えられた場合は、その内容が結果に追加されます。 char-set-filter!は、結果を格納するためにbase-csを変更するかも しれません。

Function: ucs-range->char-set lower upper :optional error? base-cs
Function: ucs-range->char-set! lower upper error? base-cs

[SRFI-14]

Function: integer-range->char-set lower upper :optional error? base-cs
Function: integer-range->char-set! lower upper error? base-cs
Function: ->char-set x

[SRFI-14] 様々な種類のオブジェクトを文字セットに変換する関数です。xに 文字のコレクション、文字セット、あるいは文字を渡すことができます。 引数が文字セットの場合はそれがそのまま返されます。 引数が文字の場合は、その文字のみを含む文字セットが返されます。

註: SRFI-14の->char-setは文字列、文字セット、文字のいずれかのみを 引数に取ります。Gaucheでは文字の任意のコレクションを取るように拡張しました。


Next: , Previous: , Up: 文字集合ライブラリ   [Contents][Index]

11.7.2 文字セットの比較

Function: char-set= char-set1 …

[SRFI-14] 与えられた文字セットが全て同じ要素を持っている場合に限り#tを返します。

(char-set=)  ⇒ #t
(char-set= (char-set)) ⇒ #t
(char-set= (string->char-set "cba")
           (list->char-set #\a #\b #\c))
  ⇒ #t
Function: char-set<= char-set1 …

[SRFI-14]

Function: char-set-hash char-set :optional bound

[SRFI-14]


Next: , Previous: , Up: 文字集合ライブラリ   [Contents][Index]

11.7.3 文字セットのイテレーション

Function: char-set-cursor char-set

[SRFI-14]

Function: char-set-ref char-set cursor

[SRFI-14]

Function: char-set-cursor-next char-set cursor

[SRFI-14]

Function: end-of-char-set? ccursor

[SRFI-14]

Function: char-set-fold kons knil char-set

[SRFI-14]

Function: char-set-unfold pred fun gen seed :optional base-char-set
Function: char-set-unfold! pred fun gen seed base-char-set

[SRFI-14]

Function: char-set-for-each proc char-set

[SRFI-14]

Function: char-set-map proc char-set

[SRFI-14]


Next: , Previous: , Up: 文字集合ライブラリ   [Contents][Index]

11.7.4 文字セットへの問い合わせ

Function: char-set-every pred char-set
Function: char-set-any pred char-set
Function: char-set-count pred char-set

[SRFI-14] これらの手続きは、predchar-setに含まれる各文字に適用します。

char-set-everypred#fを返したら直ちに#fを返します。 predが最後まで#fを返さなかった場合は、最後のpredの返り値が char-set-everyの返り値となります。

char-set-anypredが真の値を返した場合に直ちにその値を返します。 predが最後まで#fを返した場合には#fを返します。

char-set-countpredが真の値を返した回数を返します。

char-setは非常に大きくなる可能性があり (例えばごく小さな文字セットの補集合)、 その場合、これらの手続きは非常に長くかかり得ることに注意してください。

Function: char-set->list char-set
Function: char-set->string char-set

[SRFI-14] char-setに含まれる文字をリストあるいは文字列にして返します。 大きな文字セットに適用する場合は注意してください。


Next: , Previous: , Up: 文字集合ライブラリ   [Contents][Index]

11.7.5 文字セットに適用できる代数的関数

Function: char-set-adjoin char-set char1 …
Function: char-set-adjoin! char-set char1 …

[SRFI-14] char-setchar1 …を加えた文字集合を返します。

Function: char-set-delete char-set char1 …
Function: char-set-delete! char-set char1 …

[SRFI-14]

Function: char-set-union char-set …
Function: char-set-union! char-set1 char-set2 …

[SRFI-14]

Function: char-set-intersection char-set …
Function: char-set-intersection! char-set1 char-set2 …

[SRFI-14]

Function: char-set-difference char-set1 char-set2 …
Function: char-set-difference! char-set1 char-set2 …

[SRFI-14]

Function: char-set-xor char-set …
Function: char-set-xor! char-set1 char-set2 …

[SRFI-14]

Function: char-set-diff+intersection char-set1 char-set2 …
Function: char-set-diff+intersection! char-set1 char-set2 char-set3 …

[SRFI-14]


Previous: , Up: 文字集合ライブラリ   [Contents][Index]

11.7.6 定義済みの文字セット

Variable: char-set:letter

[SRFI-14]

Variable: char-set:blank

[SRFI-14]

Variable: char-set:iso-control

[SRFI-14]

Variable: char-set:digit
Variable: char-set:hex-digit

[SRFI-14]

Variable: char-set:graphic

[SRFI-14]

Variable: char-set:lower-case
Variable: char-set:upper-case
Variable: char-set:title-case

[SRFI-14]

Variable: char-set:printing

[SRFI-14]

Variable: char-set:punctuation

[SRFI-14]

Variable: char-set:whitespace

[SRFI-14]

Variable: char-set:symbol

[SRFI-14]

Variable: char-set:ascii

[SRFI-14]

Variable: char-set:empty

[SRFI-14]

Variable: char-set:full

[SRFI-14]


Previous: , Up: 文字集合ライブラリ   [Contents][Index]