3.9 Vectors
A vector is a fixed-length array of arbitrary values. Unlike a list, a vector supports constant-time access and update of its elements.
A vector prints similar to a list – as a parenthesized sequence of its elements – but a vector is prefixed with #. For a vector as an expression, an optional length can be supplied. Also, a vector as an expression implicitly quotes the forms for its content, which means that identifiers and parenthesized forms in a vector constant represent symbols and lists.
Reading Vectors in Reference: PLT Scheme documents the fine points of the syntax of vectors.
Examples:  | 
> #("a" "b" "c")  | 
#("a" "b" "c")  | 
> #(name (that tune))  | 
#(name (that tune))  | 
> (vector-ref #("a" "b" "c") 1)  | 
"b"  | 
> (vector-ref #(name (that tune)) 1)  | 
(that tune)  | 
Like strings, a vector is either mutable or immutable, and vectors written directly as expressions are immutable.
Vector can be converted to lists and vice-versa via list->vector and vector->list; such conversions are particularly useful in combination with predefined procedures on lists. When allocating extra lists seems too expensive, consider using looping forms like fold-for, which recognize vectors as well as lists.
Examples:  | ||
  | ||
#("Three" "Blind" "Mice")  | 
Vectors in Reference: PLT Scheme provides more on vectors and vector procedures.