In this section, we describe the functions that accept all types of arrays.
This function returns t if object is an array (i.e., a
vector, a string, a bool-vector or a char-table).
(arrayp [a])
⇒ t
(arrayp "asdf")
⇒ t
(arrayp (syntax-table)) ;; A char-table.
⇒ t
This function returns the indexth element of the array or record arr. The first element is at index zero.
(setq primes [2 3 5 7 11 13])
⇒ [2 3 5 7 11 13]
(aref primes 4)
⇒ 11
(aref "abcdefg" 1)
⇒ 98 ; ‘b’ is ASCII code 98.
See also the function elt, in Sequences.
This function sets the indexth element of array to be object. It returns object.
(setq w (vector 'foo 'bar 'baz))
⇒ [foo bar baz]
(aset w 0 'fu)
⇒ fu
w
⇒ [fu bar baz]
;; copy-sequence copies the string to be modified later.
(setq x (copy-sequence "asdfasfd"))
⇒ "asdfasfd"
(aset x 3 ?Z)
⇒ 90
x
⇒ "asdZasfd"
The array should be mutable. See Mutability.
If array is a string and object is not a character, a
wrong-type-argument error results. For more information about
string mutation, see Modifying Strings.
This function fills the array array with object, so that each element of array is object. It returns array.
(setq a (copy-sequence [a b c d e f g]))
⇒ [a b c d e f g]
(fillarray a 0)
⇒ [0 0 0 0 0 0 0]
a
⇒ [0 0 0 0 0 0 0]
(setq s (copy-sequence "When in the course"))
⇒ "When in the course"
(fillarray s ?-)
⇒ "------------------"
If array is a string and object is not a character, a
wrong-type-argument error results.
The general sequence functions copy-sequence and length
are often useful for objects known to be arrays. See Sequences.