Functions that Operate on Arrays
In this section, we describe the functions that accept all types of arrays.
Function: arrayp object
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.
⇒ tFunction: aref arr index
This function returns the indexth element of the array or record arr. The first element is at index zero.
(aref "abcdefg" 1)
⇒ 98 ; ‘b’ is ASCII code 98.See also the function elt, in Sequences.
Function: aset array index object
This function sets the indexth element of array to be object. It returns object.
;; 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.
Function: fillarray array object
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.