Vectors in Guide: PLT Scheme introduces vectors.
A vector is a fixed-length array with constant-time access
and update of the vector slots, which are numbered from 0 to
one less than the number of slots in the vector.
Two vectors are equal? if they have the same length, and if
the values in corresponding slots of the vectors are
A vector can be mutable or immutable. When an
immutable vector is provided to a procedure like vector-set!,
the exn:fail:contract exception is raised. Vectors generated by the default
reader (see Reading Strings) are immutable.
A vector can be used as a single-valued sequence (see
Sequences). The elements of the vector serve as elements
of the sequence. See also in-vector.
Returns #t if v is a vector, #f otherwise.
Returns a mutable vector with size slots, where all slots are
initialized to contain v.
Returns a mutable vector with as many slots as provided vs,
where the slots are initialized to contain the given vs in
Returns an immutable vector with as many slots as provided
vs, where the slots are contain the given vs in
Returns the length of vec (i.e., the number of slots in the
Returns the element in slot pos
. The first
slot is position 0
, and the last slot is one less than
Updates the slot pos of vec to contain v.
Returns a list with the same length and elements as vec.
Returns a mutable vector with the same length and elements as
Returns an immutable vector with the same length and elements as vec.
If vec is itself immutable, then it is returned as the result.
Changes all slots of vec to contain v.
Changes the elements of dest
starting at position
to match the elements in src
(inclusive) to src-end
can be the same vector, and in
that case the destination region can overlap with the source region;
the destination elements after the copy match the source elements
from before the copy. If any of dest-start
, or src-end
are out of range (taking into
account the sizes of the vectors and the source and destination
regions), the exn:fail:contract
exception is raised.
Returns end-pos - start-pos
values, which are
the elements of vec
(exclusive). If start-pos
are greater than (vector-length vec)
, or if
is less than start-pos
exception is raised.
Creates a vector of n
elements by applying proc
the integers from 0
to (sub1 n)
in order. If
is the resulting vector, then (vector-ref vec i)
is the value produced by (proc i)