elisp: Vector Functions

 
 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
      SEQUENCES.  The arguments SEQUENCES may be true 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.  SeeByte-Code
      Objects.
 
      For other concatenation functions, see ‘mapconcat’ in SeeMapping
      Functions, ‘concat’ in SeeCreating Strings, and ‘append’ in
      SeeBuilding 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])