Next: srfi.178 - ビットベクタライブラリ, Previous: srfi.174 - POSIX timespecs, Up: ライブラリモジュール - SRFI [Contents][Index]
srfi.175 - ASCII文字ライブラリASCII文字とASCIIコードポイントを扱うユーティリティを提供するモジュールです。 ASCIIだけを対象とする小さなScheme実装や、ASCIIだけを対象とするポータブルな コードを書きたい場合に便利です。
GaucheはUnicodeの全ての文字を扱えるので、Gauche用のコードを書いている時には 敢えてこのモジュールを使う必要は無いでしょう。互換性のために用意しています。
このモジュールに特徴的なのは、多くの手続きで、文字のかわりに整数を取れることです。 0と127の間の正確な整数はASCIIコードポイントと解釈されます。 それ以外の整数は非ASCIIコードポイントと解釈されます。 文字と整数の両方を取れる引数は、char-or-codeと表記しています。 例えばバイナリファイルの一部にASCIIテキストが含まれるものを扱う際に便利でしょう。
[SRFI-175]{srfi.175}
objが0..127の範囲の正確な整数であれば#tを、そうでなければ#fを
返します。
[SRFI-175]{srfi.175}
objがバイトベクタ(u8vector)で、全ての要素が0..127の範囲に収まっていれば
#tを、そうでなければ#fを返します。
[SRFI-175]{srfi.175}
objがASCII文字であれば#tを、そうでなければ#fを返します。
[SRFI-175]{srfi.175}
objが文字列で、その中の全ての文字がASCII文字なら#tを、そうでなければ
#fを返します。
[SRFI-175]{srfi.175}
char-or-codeがASCII制御文字の範囲なら#tを、そうでなければ#fを
返します。
(ascii-control? #\tab) ⇒ #t (ascii-control? #\A) ⇒ #f (ascii-control? 127) ⇒ #t (ascii-control? 255) ⇒ #f
#tが返される文字の集合はchar-set:ascii-controlと
一致します (定義済み文字集合参照)。
[SRFI-175]{srfi.175}
char-or-codeがASCIIの範囲でかつ制御文字でなければ#tを、
そうでなければ#fを
返します。
[SRFI-175]{srfi.175}
char-or-codeがタブ文字かASCII空白文字であれば#tを、
そうでなければ#fを返します。
[SRFI-175]{srfi.175}
char-or-codeがASCIIの範囲で、アルファベットと数字以外の
グラフィック文字であれば#tを返します。
#tが返される文字の集合は
(char-set-difference char-set:ascii-graphic char-set:ascii-letter+digit)と
一致します (定義済み文字集合参照)。
[SRFI-175]{srfi.175}
char-or-codeがASCIIアルファベットか数字であれば#tを、
そうでなければ#fを返します。
#tが返される文字の集合は
char-set:ascii-letter+digitと
一致します (定義済み文字集合参照)。
[SRFI-175]{srfi.175} char-or-codeが
#tが返される文字の集合は
char-set:ascii-letterと
一致します (定義済み文字集合参照)。
[SRFI-175]{srfi.175}
Returns #t iff char-or-code is in the ASCII digit range.
#tが返される文字の集合は
char-set:ascii-digitと
一致します (定義済み文字集合参照)。
[SRFI-175]{srfi.175}
Returns #t iff char-or-code is one of the ASCII whitespaces.
#tが返される文字の集合は
char-set:ascii-whitespaceと
一致します (定義済み文字集合参照)。
[SRFI-175]{srfi.175}
Returns #t iff char-or-code is one of upper/lower case
ASCII alphabets.
#tが返される文字の集合は
char-set:ascii-upper-case/char-set:ascii-lower-caseと
一致します (定義済み文字集合参照)。
[SRFI-175]{srfi.175} 各引数は文字かコードポイントです。引数がASCIIの大文字に相当する場合、それは対応する小文字の コードポイントに変換され、その後コードポイント同士の比較結果が返されます。 二つの引数の型が一致している必要はありません。
ASCII範囲外の引数を渡すことは許されます。非ASCII文字は内部エンコーディングによるコードポイント に変換されます(大文字小文字は考慮されません)。非ASCII文字はASCII文字より大きい、 ということ以外、結果は処理系依存になります。
[SRFI-175]{srfi.175} ASCII文字の範囲で大文字小文字を考慮せずに、二つの文字列を比較します。 文字列は非ASCII文字を含んでいても構いません。それらについては大文字小文字の考慮はせず、 内部エンコーディングのコードポイントを使って比較します。
[SRFI-175]{srfi.175} 引数がASCIIの大文字/小文字に相当する場合、対応する小文字/大文字の文字またはコードポイントを 返します。戻り値は引数と同じ型になります。 引数がそれ以外の文字に相当する場合は、そのまま返されます。
[SRFI-175]{srfi.175}
ASCII制御文字(#\x00, #\x01 .. #\x1f,
and #\x7f)はしばしば、
^@, ^A .. ^_ および ^? のように
表記されます。これらの手続きは、制御文字とその表記 (^の後に来る文字)とを
相互に変換するものです。
戻り値の型は引数と同じになります。
引数がASCII制御文字/制御文字に対応するASCII表示文字でなければ、#fが返ります。
[SRFI-175]{srfi.175}
ASCIIには4ペアの括弧があります。(と)、
{と}、[と]、そして<と>です。
引数char-or-codeがこれら8文字のいずれかに相当する場合に、
それと対になる文字またはコードポイントを返します。
戻り値の型は引数と同じになります。
引数が括弧の文字またはコードポイントでなければ、#fが返されます。
[SRFI-175]{srfi.175}
数値nを表すASCII数字文字を返します。nが0から9までの正確な整数でない
場合は#fを返します。
(ascii-nth-digit 3) ⇒ #\3
integer->digit (文字)も参照。
[SRFI-175]{srfi.175}
(modulo n 26)番目のASCII大文字/小文字アルファベットを返します。
(ascii-nth-upper-case 0) ⇒ #\A (ascii-nth-lower-case 1) ⇒ #\b (ascii-nth-upper-case 25) ⇒ #\Z (ascii-nth-lower-case 26) ⇒ #\a
integer->digit (文字)も参照。
[SRFI-175]{srfi.175}
char-or-codeがASCII数字文字またはそのコードポイントであり、
それが表す数値がlimit未満であればその数値を、
そうでなければ#fを返します。
(ascii-digit-value #\5 10) ⇒ 5 (ascii-digit-value #\9 8) ⇒ #f (ascii-digit-value 48 10) ⇒ 0
digit->integer (文字)も参照。
[SRFI-175]{srfi.175}
char-or-codeがn番目のASCII大文字/小文字またはそのコードポイントで、
nがlimit未満であれば、(+ n offset)を返します。
そうでなければ#fを返します。
(ascii-upper-case-value #\E 10 6) ⇒ 14 (ascii-lower-case-value #\z 0 26) ⇒ 25
digit->integer (文字)も参照。
Next: srfi.178 - ビットベクタライブラリ, Previous: srfi.174 - POSIX timespecs, Up: ライブラリモジュール - SRFI [Contents][Index]