ベクターに関連した関数をいくつか示します:
この関数はobjectがベクターならt
をリターンする。
(vectorp [a]) ⇒ t (vectorp "asdf") ⇒ nil
この関数は引数objectsを要素にもつベクターを作成してリターンする。
(vector 'foo 23 [bar baz] "rats") ⇒ [foo 23 [bar baz] "rats"] (vector) ⇒ []
この関数は各要素がobjectに初期化された、length個の要素からなる新しいベクターをリターンする。
(setq sleepy (make-vector 9 'Z)) ⇒ [Z Z Z Z Z Z Z Z Z]
この関数はsequencesのすべての要素を含む新しいベクターをリターンする。引数sequencesは正リスト、ベクター、文字列、ブールベクター。sequencesが与えられければ空のベクターがリターンされる。
値は空のベクター、またはすべての既存ベクターとeq
ではないような空ではない新しいベクターのいずれか。
(setq a (vconcat '(A B C) '(D E F))) ⇒ [A B C D E F] (eq a (vconcat a)) ⇒ nil
(vconcat) ⇒ [] (vconcat [A B C] "aa" '(foo (6 7))) ⇒ [A B C 97 97 foo (6 7)]
vconcat
関数は、引数としてバイトコード関数オブジェクトも受け取ることができる。これはバイトコード関数オブジェクトの内容全体にアクセスするのを容易にするための特別な機能である。クロージャ関数オブジェクトを参照のこと。
結合を行なう他の関数については関数のマッピングのmapconcat
、文字列の作成のconcat
、コンスセルおよびリストの構築のappend
を参照されたい。
append
関数はベクターを同じ要素をもつリストに変換する方法も提供します:
(setq avector [1 two (quote (three)) "four" [five]]) ⇒ [1 two '(three) "four" [five]] (append avector nil) ⇒ (1 two '(three) "four" [five])