Next: Char-Tables, Previous: Vectors, Up: Sequences Arrays Vectors
Here are some functions that relate to vectors:
This function returns
tif object is a vector.(vectorp [a]) ⇒ t (vectorp "asdf") ⇒ nil
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) ⇒ []
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]
This function returns a new vector containing all the elements of the sequences. The arguments sequences may be true lists, vectors, strings or bool-vectors. If no sequences are given, an empty vector is returned.
The value is a newly constructed vector that is not
eqto 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
vconcatfunction 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 Byte-Code Objects.In Emacs versions before 21, the
vconcatfunction allowed integers as arguments, converting them to strings of digits, but that feature has been eliminated. The proper way to convert an integer to a decimal number in this way is withformat(see Formatting Strings) ornumber-to-string(see String Conversion).For other concatenation functions, see
mapconcatin Mapping Functions,concatin Creating Strings, andappendin Building 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 (quote (three)) "four" [five]]
(append avector nil)
⇒ (1 two (quote (three)) "four" [five])
