For Gauche 0.9.10


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

11.33 srfi-175 - ASCII文字ライブラリ

Module: srfi-175

ASCII文字とASCIIコードポイントを扱うユーティリティを提供するモジュールです。 ASCIIだけを対象とする小さなScheme実装や、ASCIIだけを対象とするポータブルな コードを書きたい場合に便利です。

Gaucheは(内部エンコーディングをデフォルトのutf-8でコンパイルしていれば) Unicodeの全ての文字を扱えるので、Gauche用のコードを書いている時には 敢えてこのモジュールを使う必要は無いでしょう。互換性のために用意しています。

このモジュールに特徴的なのは、多くの手続きで、文字のかわりに整数を取れることです。 0と127の間の正確な整数はASCIIコードポイントと解釈されます。 それ以外の整数は非ASCIIコードポイントと解釈されます。 文字と整数の両方を取れる引数は、char-or-codeと表記しています。 例えばバイナリファイルの一部にASCIIテキストが含まれるものを扱う際に便利でしょう。

Function: ascii-codepoint? obj

[SRFI-175] {srfi-175} objが0..127の範囲の正確な整数であれば#tを、そうでなければ#fを 返します。

Function: ascii-bytevecotr? obj

[SRFI-175] {srfi-175} objがバイトベクタ(u8vector)で、全ての要素が0..127の範囲に収まっていれば #tを、そうでなければ#fを返します。

Function: ascii-char? obj

[SRFI-175] {srfi-175} objがASCII文字であれば#tを、そうでなければ#fを返します。

Function: ascii-string? obj

[SRFI-175] {srfi-175} objが文字列で、その中の全ての文字がASCII文字なら#tを、そうでなければ #fを返します。

Function: ascii-control? char-or-code

[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と 一致します (定義済み文字集合参照)。

Function: ascii-non-control? char-or-code

[SRFI-175] {srfi-175} char-or-codeがASCIIの範囲でかつ制御文字でなければ#tを、 そうでなければ#fを 返します。

Function: ascii-space-or-tab? char-or-code

[SRFI-175] {srfi-175} char-or-codeがタブ文字かASCII空白文字であれば#tを、 そうでなければ#fを返します。

Function: ascii-other-graphic? char-or-code

[SRFI-175] {srfi-175} char-or-codeがASCIIの範囲で、アルファベットと数字以外の グラフィック文字であれば#tを返します。

#tが返される文字の集合は (char-set-difference char-set:ascii-graphic char-set:ascii-letter+digit)と 一致します (定義済み文字集合参照)。

Function: ascii-alphanumeric? char-or-code

[SRFI-175] {srfi-175} char-or-codeがASCIIアルファベットか数字であれば#tを、 そうでなければ#fを返します。

#tが返される文字の集合は char-set:ascii-letter+digitと 一致します (定義済み文字集合参照)。

Function: ascii-alphabetic? char-or-code

[SRFI-175] {srfi-175} char-or-code

#tが返される文字の集合は char-set:ascii-letterと 一致します (定義済み文字集合参照)。

Function: ascii-numeric? char-or-code

[SRFI-175] {srfi-175} Returns #t iff char-or-code is in the ASCII digit range.

#tが返される文字の集合は char-set:ascii-digitと 一致します (定義済み文字集合参照)。

Function: ascii-whitespace? char-or-code

[SRFI-175] {srfi-175} Returns #t iff char-or-code is one of the ASCII whitespaces.

#tが返される文字の集合は char-set:ascii-whitespaceと 一致します (定義済み文字集合参照)。

Function: ascii-upper-case? char-or-code
Function: ascii-lower-case? char-or-code

[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と 一致します (定義済み文字集合参照)。

Function: ascii-ci=? char-or-code1 char-or-code2
Function: ascii-ci<? char-or-code1 char-or-code2
Function: ascii-ci<=? char-or-code1 char-or-code2
Function: ascii-ci>? char-or-code1 char-or-code2
Function: ascii-ci>=? char-or-code1 char-or-code2

[SRFI-175] {srfi-175} 各引数は文字かコードポイントです。引数がASCIIの大文字に相当する場合、それは対応する小文字の コードポイントに変換され、その後コードポイント同士の比較結果が返されます。 二つの引数の型が一致している必要はありません。

ASCII範囲外の引数を渡すことは許されます。非ASCII文字は内部エンコーディングによるコードポイント に変換されます(大文字小文字は考慮されません)。非ASCII文字はASCII文字より大きい、 ということ以外、結果は処理系依存になります。

Function: ascii-string-ci=? string1 string2
Function: ascii-string-ci<? string1 string2
Function: ascii-string-ci<=? string1 string2
Function: ascii-string-ci>? string1 string2
Function: ascii-string-ci>=? string1 string2

[SRFI-175] {srfi-175} ASCII文字の範囲で大文字小文字を考慮せずに、二つの文字列を比較します。 文字列は非ASCII文字を含んでいても構いません。それらについては大文字小文字の考慮はせず、 内部エンコーディングのコードポイントを使って比較します。

Function: ascii-upcase char-or-code
Function: ascii-downcase char-or-code

[SRFI-175] {srfi-175} 引数がASCIIの大文字/小文字に相当する場合、対応する小文字/大文字の文字またはコードポイントを 返します。戻り値は引数と同じ型になります。 引数がそれ以外の文字に相当する場合は、そのまま返されます。

Function: ascii-control->graphic char-or-code
Function: ascii-graphic->control char-or-code

[SRFI-175] {srfi-175} ASCII制御文字(#\x00, #\x01 .. #\x1f, and #\x7f)はしばしば、 ^@, ^A .. ^_ および ^? のように 表記されます。これらの手続きは、制御文字とその表記 (^の後に来る文字)とを 相互に変換するものです。 戻り値の型は引数と同じになります。

引数がASCII制御文字/制御文字に対応するASCII表示文字でなければ、#fが返ります。

Function: ascii-mirror-bracket char-or-code

[SRFI-175] {srfi-175} ASCIIには4ペアの括弧があります。(){}[]、そして<>です。 引数char-or-codeがこれら8文字のいずれかに相当する場合に、 それと対になる文字またはコードポイントを返します。 戻り値の型は引数と同じになります。

引数が括弧の文字またはコードポイントでなければ、#fが返されます。

Function: ascii-nth-digit n

[SRFI-175] {srfi-175} 数値nを表すASCII数字文字を返します。nが0から9までの正確な整数でない 場合は#fを返します。

(ascii-nth-digit 3) ⇒ #\3

integer->digit (文字)も参照。

Function: ascii-nth-upper-case n
Function: ascii-nth-lower-case n

[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 (文字)も参照。

Function: ascii-digit-value char-or-code limit

[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 (文字)も参照。

Function: ascii-upper-case-value char-or-code offset limit
Function: ascii-lower-case-value char-or-code offset limit

[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: , Previous: , Up: ライブラリモジュール - SRFI   [Contents][Index]