Next: Formatting Strings, Previous: Text Comparison, Up: Strings and Characters
本節では、文字や文字列と整数のあいだの変換関数について説明します。
format
とprin1-to-string
(see Output Functions)は、
Lispオブジェクトを文字列に変換するために使えます。
read-from-string
(see Input Functions)は、
Lispオブジェクトの文字列表現をオブジェクトに『変換』できます。
関数string-make-multibyte
とstring-make-unibyte
は、
文字列のテキスト表現を変換します(see Converting Representations)。
テキスト文字と一般の入力イベントのテキスト表現を生成する関数
(single-key-description
とtext-char-description
)については、
See Documentation。
これらの関数は、主に、ヘルプメッセージの作成に使います。
この関数は、1つの文字characterだけを含む新たな文字列を返す。 関数
string
のほうがより汎用であるので、 この関数はほぼ廃れている。 see Creating Strings。
この関数は、stringの先頭文字を返す。 文字列が空であると関数は0を返す。 文字列stringの先頭文字が、ASCIIコードが0のナル文字であるときも、 値は0である。
(string-to-char "ABC") 65 (string-to-char "xyz") 120 (string-to-char "") 0 (string-to-char "\000") 0この関数は、存続させるほど有用でなければ、将来、取り除くかもしれない。
この関数は、numberの表示表現である文字列を返す。 numberは整数か浮動小数点数。 引数が負であれば値の文字列は符号で始まる。
(number-to-string 256) "256" (number-to-string -23) "-23" (number-to-string -23.5) "-23.5"
int-to-string
は、この関数のほぼ廃れている別名。Formatting Stringsの
format
も参照。
この関数は、string内の文字群が表す数値を返す。 baseが
nil
以外ならば、これを基数として整数に変換する。 baseがnil
ならば10を基数とする。 浮動小数点数の変換はつねに10を基数とする。 浮動小数点数に対しては別の基数を実装していない。 作業量も多くそのわりには有用とも思えないからである。解析するとき、stringの先頭にある空白やタブは無視し、 数と解釈できる限りをstringから読み取る。 (先頭の空白やタブ以外の他の白文字を無視するシステムもある。) 無視した白文字のあとの最初の文字が、数字文字、プラス記号、 マイナス記号でなければ、この関数は0を返す。
(string-to-number "256") 256 (string-to-number "25 is a perfect square.") 25 (string-to-number "X256") 0 (string-to-number "-4.5") -4.5
文字列へ/から変換するその他の関数を以下にあげておきます。
concat
concat
は、ベクトルやリストを文字列へ変換する。
see Creating Strings。
vconcat
vconcat
は、文字列をベクトルへ変換する。
see Vector Functions。
append
append
は、文字列をリストへ変換する。
see Building Lists。