[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Top] [Table des matières] [Index] [ ? ]

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 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 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. Voir la section Byte-Code Function Objects.

In Emacs versions before 21, the vconcat function 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 with format (voir la section Formatting Strings) or number-to-string (voir la section Conversion of Characters and Strings).

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 (quote (three)) "four" [five]]
(append avector nil)
     ⇒ (1 two (quote (three)) "four" [five])

[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Top] [Table des matières] [Index] [ ? ]

Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.