[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Arrays in Lisp, like arrays in most languages, are blocks of memory whose elements can be accessed in constant time. A vector is a general-purpose array of specified length; its elements can be any Lisp objects. (By contrast, a string can hold only characters as elements.) Vectors in Emacs are used for obarrays (vectors of symbols), and as part of keymaps (vectors of commands). They are also used internally as part of the representation of a byte-compiled function; if you print such a function, you will see a vector in it.
In Emacs Lisp, the indices of the elements of a vector start from zero and count up from there.
Vectors are printed with square brackets surrounding the elements. Thus, a
vector whose elements are the symbols a
, b
and a
is
printed as [a b a]
. You can write vectors in the same way in Lisp
input.
A vector, like a string or a number, is considered a constant for evaluation: the result of evaluating it is the same vector. This does not evaluate or even examine the elements of the vector. Voir la section Self-Evaluating Forms.
Here are examples illustrating these principles:
(setq avector [1 two '(three) "four" [five]]) ⇒ [1 two (quote (three)) "four" [five]] (eval avector) ⇒ [1 two (quote (three)) "four" [five]] (eq avector (eval avector)) ⇒ t |
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.