Next: Char-Tables, Previous: Vectors, Up: Sequences Arrays Vectors [Contents][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 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. See Byte-Code Objects.

  For other concatenation functions, see `mapconcat` in Mapping Functions, `concat` in Creating Strings, and `append` in 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])

Next: Char-Tables, Previous: Vectors, Up: Sequences Arrays Vectors [Contents][Index]