多くの関数は、結果としてストリングを作ります。セクション 30.3 [string-match]、 ページ 297 も参照して下さい。これは前にマッチしたストリングからストリングを作 ります。
Function: make-string integer character
この関数は、全て(訳注:同じ) character からなる integer 文字のストリングを 返します。
(make-string 5 ?x) => "xxxxx" (make-string 0 ?x) => ""
Function: substring string start &optional end
この関数は、 string 中の start の文字から始め end の文字で終るストリングを (新しく)返します。負の数字は、(ストリングの最後の文字を -1 として) ストリ ングの終りから数えます。
start と end のどちらかが integer でなかったり、 start が end の後の文字を 指していたり、どちらかの integer がストリングの範囲を出てしまっている場 合、エラーになります。
(substring "abcdefg" 0) => "abcdefg" (substring "abcdefg" 0 2) => "ab" (substring "abcdefg" 5 nil) => "fg" (substring "abcdefg" -1 nil) => "g"
Function: concat &rest sequences
この関数は、アーギュメント sequences 中の文字からなるストリングを(新しく) 返します。アーギュメントは変更されません。このシーケンスはリストでもベクト ルでもストリングでもかまいません。
常に、(既存のストリングに eq でない) ストリングが新しく作られます。 sequences が与えられない場合、empty リストを返します。
文字や integer でないものが sequences の要素に含まれている場合、(wrong- type-argument) エラーを出します。
1つの機能として、 (integer のシーケンスではなく) sequences の(要素の) 1つ が integer である(という特殊な)場合、これは、その integer の 10進 print 表 現である digit(訳注:数字)にまず変換します。
その他の concatenation 関数に関しては、セクション 12.2 [mapconcat]、ページ 99、セクション 7.3 [vconcat]、ページ 63、セクション 6.2 [append]、ページ 51 を参照して下さい。 copy-sequence
(concat "abc" "-def") => "abc-def" (concat "abc" -123 (list 120 (+ 256 121)) [122]) => "abc-123xyz" (concat) => ""
Function: char-equal character1 character2
この関数は、アーギュメントが同じ文字を示す場合 t を返し、そうでない場合 nil を返します。この比較は modulo 256 で行ないます。
(char-equal ?x ?x) => t (char-to-string (+ 256 ?x))
=> "x" (char-equal ?x (+ 256 ?x)) => t
Function: string= string1 string2
この関数は、 2 つのストリングの文字が厳密に(訳注:exactly)マッチする場合 t を返します。大文字と小文字は区別します。ストリングの比較を行なう別の方法に 関しては、セクション 30.3 [string-match]、ページ 297 を参照して下さい。 string= は string-equal と同じです。
(string-equal "abc" "abc") => t (string-equal "abc" "ABC") => nil (string-equal "ab" "ABC") => nil
Function: string-lessp string1 string2
(@findex string< は permuted index に対し問題を起こす) この関数は、 2 つの ストリングの(同じでない)最初の文字において、 string1 の方が string2 より (ASCII 値で)小さい場合 t を返します。文字を持たないストリングは最も小さい ストリングになります。 (小文字は、それに対する大文字より大きな ASCII 値を 持ちます)。この関数は string-lessp と同じです。
(string-lessp "ABCC" "ABCD") => t (string-lessp "ABCC" "ABCC") => nil (string-lessp "ABC" "ABCC") => t (string-lessp "abcc" "ABCD") => nil