[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
#\charname
[R5RS] リテラルの文字オブジェクトを表現します。
リーダーは#\
に出会うと、まず次の文字を読み込みます。それが文字
()[]{}" \|;#
のいずれかならば、その文字自身となります。
そうでなければ、単語を構成しない文字に出会うまで文字が続けて読み込まれます。
もし一文字しか読まれなければ、その文字自身となります。そうでなければ
その単語が文字の名前として解釈されます。
それが有効な文字の名前でなければエラーとなります。
以下の文字の名前が認識されます。これらの文字の名前は大文字小文字を区別しません。
space
スペース (ASCII #x20)
newline, nl, lf
改行文字 (ASCII #x0a)
return, cr
復帰文字 (ASCII #x0d)
tab, ht
水平タブ (ASCII #x09)
page
フォームフィード、改ページ (ASCII #x0c)
escape, esc
エスケープ (ASCII #x1b)
delete, del
デリート (ASCII #x7f)
null
NUL文字 (ASCII #x00)
xN
N が16進表記の整数であるとき、内部エンコーディングが整数N であるような文字。この表記はASCII文字の範囲の外では、内部エンコーディングが異なる 処理系間で互換性が無いことに注意して下さい。
uN
Nが4桁または8桁の16進数整数であるとき、UCSコードNであるような文字。
Gaucheの内部エンコーディングがUTF-8以外でコンパイルされている場合には、
リーダーはgauche.charconv
モジュールを使ってUnicodeを内部エンコーディングへと
変換します。Unicodeの該当する文字が内部エンコーディングで定義されていない場合、
代替文字に置換されるか、エラーとなります。
#\newline ⇒ #\newline ; 改行文字 #\x0a ⇒ #\newline ; 改行文字 #\x41 ⇒ #\A ; ASCII文字 'A' #\u0041 ⇒ #\A ; ASCII文字 'A', UCSコード #\u3042 ⇒ #\あ ; 平仮名「あ」, UCSコード #\u0002a6b2 ⇒ ; JISX0213 2-94-86 UCS4コード |
プログラムテキストがGaucheの内部エンコーディングと同じエンコーディングで 書かれていれば、マルチバイト文字を直接表記することもできます。
#\あ ⇒ ; 文字「あ」
|
[R5RS]
objが文字なら#t
を、そうでなければ#f
を返します。
=
? char1 char2
<
? char1 char2
<=
? char1 char2
>
? char1 char2
>=
? char1 char2
[R5RS] 文字を比較します。比較は内部の文字エンコーディングで行われます。
=
? char1 char2
<
? char1 char2
<=
? char1 char2
>
? char1 char2
>=
? char1 char2
[R5RS] 文字を、大文字小文字を区別せずに比較します。 現在のバージョンではASCII文字の範囲外における大文字小文字の扱いが きちんと定義されていないことに注意して下さい。
[R5RS]
文字charがそれぞれ英字([A-Za-z]
)、数字([0-9]
)、
空白文字、大文字および小文字の時に真の値を返します。
今のところ、これらの手続きはASCII文字のみで動作します。
それ以外の文字に対しては#f
が返されます。
[R5RS]
char->integer
は文字charの内部エンコーディングに対応する
整数値を返します。integer->char
は数値nと内部エンコーディングが
同じ文字を返します。有効な文字charに対して以下の式は常に真となります。
(eq? char (integer->char (char->integer char))) |
対応する内部エンコーディングを持つ文字が無い数値をinteger->char
に渡した
場合の結果は不定です。
それぞれ、文字charをUCSコードポイントを表す整数へ変換し、 またUCSコードポイントを表す整数nを文字へと変換する手続きです。
Gaucheの内部文字エンコーディングがUTF-8でコンパイルされている場合は、
これらの手続きはそれぞれchar->integer
およびinteger->char
と等価です。
Gaucheの内部文字エンコーディングがUTF-8でない場合、
これらの手続きはgauche.charconv
モジュールを使って
内部文字コードとUCSとの変換を行います (gauche.charconv
- 文字コード変換参照)。
charが対応するUCSコードを持っていない場合、char->ucs
は#f
を
返します。UCSコードn
に対応する文字が内部エンコーディングで定義されていない
場合、変換ルーチンが代替文字を提供していればそれを、そうでなければ#f
が返されます。
[R5RS] charの大文字と小文字をそれぞれ返します。charに大文字小文字の区別が 無ければcharがそのまま返されます。
現在のバージョンではASCII文字の範囲外における大文字小文字の扱いが きちんと定義されていないことに注意して下さい。
文字charが radix進数の数字を構成するのに有効な文字であれば、
対応する整数が、そうでなければ#f
が返されます。
(digit->integer #\4) ⇒ 4 (digit->integer #\e 16) ⇒ 14 (digit->integer #\9 8) ⇒ #f |
Common Lispには同様の手続きがdigit-char-p
というやや曖昧な名で定義されています。
digit->integer
の逆です。整数integerを radix進数 ひと桁で
表現するのに使われる文字を返します。integerがひと桁で表現できない数値の場合は
#f
が返されます。
(integer->digit 13 16) ⇒ #\d (integer->digit 10) ⇒ #f |
Common Lispのdigit-char
に当たります。
コンパイル時に選択された内部文字エンコーディングを表すシンボルを返します。 返される値は以下のいずれかです。
euc-jp
EUC-JP
utf-8
UTF-8
sjis
Shift JIS
none
マルチバイトキャラクタをサポートしない(8ビット固定長文字)。
ネイティブなマルチバイトエンコーディングスキームでサポートされている 文字エンコーディングスキームの名前を表す文字列のリストを返します。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by Shiro Kawai on November, 22 2009 using texi2html 1.78.