gnu.org (original) (raw)
6.5 Functions for Vectors
Here are some functions that relate to vectors:
Function: vectorp object ¶
This function returns t
if object is a vector.
(vectorp [a]) ⇒ t (vectorp "asdf") ⇒ nil
Function: vector &rest objects ¶
This function creates and returns a vector whose elements are the arguments, objects.
(vector 'foo 23 [bar baz] "rats") ⇒ [foo 23 [bar baz] "rats"] (vector) ⇒ []
Function: make-vector length object ¶
This function returns a new vector consisting of length elements, each initialized to object.
(setq sleepy (make-vector 9 'Z)) ⇒ [Z Z Z Z Z Z Z Z Z]
Function: vconcat &rest sequences ¶
This function returns a new vector containing all the elements ofsequences. The arguments sequences may be proper lists, vectors, strings or bool-vectors. If no sequences are given, the empty vector is returned.
The value is either the empty vector, or is a newly constructed nonempty vector that is not eq
to any existing vector.
(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)]
The vconcat
function also allows byte-code function objects as arguments. This is a special feature to make it easy to access the entire contents of a byte-code function object. See Closure Function Objects.
For other concatenation functions, see mapconcat
in Mapping Functions, concat
in Creating Strings, and append
in Building Cons Cells and Lists.
The append
function also provides a way to convert a vector into a list with the same elements:
(setq avector [1 two (quote (three)) "four" [five]]) ⇒ [1 two '(three) "four" [five]] (append avector nil) ⇒ (1 two '(three) "four" [five])