Next: Vector Accessors, Previous: Vector Syntax, Up: Vectors
Instead of creating a vector implicitly by using the read syntax just
described, you can create a vector dynamically by calling one of the
vector
and list->vector
primitives with the list of Scheme
values that you want to place into a vector. The size of the vector
thus created is determined implicitly by the number of arguments given.
Return a newly allocated vector composed of the given arguments. Analogous to
list
.(vector 'a 'b 'c) => #(a b c)
The inverse operation is vector->list
:
Return a newly allocated list composed of the elements of v.
(vector->list '#(dah dah didah)) => (dah dah didah) (list->vector '(dididit dah)) => #(dididit dah)
To allocate a vector with an explicitly specified size, use
make-vector
. With this primitive you can also specify an initial
value for the vector elements (the same value for all elements, that
is):
Return a newly allocated vector of len elements. If a second argument is given, then each position is initialized to fill. Otherwise the initial contents of each position is unspecified.
Like
scm_make_vector
, but the length is given as asize_t
.
To check whether an arbitrary Scheme value is a vector, use the
vector?
primitive: