ベクトルは、(どんな Lisp オブジェクトでも指すことのできる)ポインタを要素とする 配列です。ベクトルのシンタックスに関しては、セクション 2.6.2 [ベクトルタイ プ]、ページ 14 を参照して下さい。
例えば、
[1 tho '(three) "four" [five]] => [1 tho (quote (three)) "four" [five]]
(他のオブジェクトから)ベクトルを作る関数が与えれれています。 append 関数は、ベ クトルをリストに変換するのに用いることができます(セクション 6.2 [append]、ペー ジ 51 参照)。
Function: vectorp object
(vectorp [a]) => t (vectorp "asdf")
=> nil
Function: vector &rest objects
(vector 'foo 23 [bar baz] "rats") => [foo 23 [bar baz] "rats"] (vector) => []
Function: make-vector integer object
この関数は、全て(の要素)を object に初期化した integer 個の要素からなるベ クトルを(新しく)返します。
(make-vector 9 'Z) => [Z Z Z Z Z Z Z Z Z]
Function: vconcat &rest sequences
この関数は、アーギュメント sequences の(全ての)要素からなるベクトルを返し ます。この sequences はリストであっても、ベクトルであっても、ストリングで あってもかまいません。
新しいベクトルは(常に)、既存のベクトルと eq ではありません (最後の例を参 照)。 sequences が与えられない場合、empty ベクトルを返します。
1 つの機能として、 sequences の 1つが (integer のシーケンスではなく) 1 つ の integer であるという (特別な)場合、 (まず)それをその integer の 10進 print 表現である (digit の) ストリングに変換します。以下に示す 2 番目の例 において、数字 123 は 3 つの digit に分割されます。文字 `1' に対する ASCII 値は 49 です。
連結(訳注:concatenation)を行なう他の関数に関しては、セクション 12.2 [mapconcat]、ページ 99、セクション 5.2 [concat]、ページ 42、とセクショ ン 6.2 [append]、ページ 51 を参照して下さい。
(setq a (vconcat '(A B C) '(D E F))) => [A B C D E F] (vconcat [A B C] 123 "45" '((6 7))) => [A B C 49 50 51 52 53 (6 7)] (vconcat) => [] (eq a (vconcat a)) => nil