Warning: This is the manual of the legacy Guile 2.0 series. You may want to read the manual of the current stable series instead.
Next: Vector Accessing from C, Previous: Vector Creation, Up: Vectors [Contents][Index]
vector-length
and vector-ref
return information about a
given vector, respectively its size and the elements that are contained
in the vector.
Return the number of elements in vector as an exact integer.
Return the number of elements in vec as a size_t
.
Return the contents of position k of vec. k must be a valid index of vec.
(vector-ref #(1 1 2 3 5 8 13 21) 5) ⇒ 8 (vector-ref #(1 1 2 3 5 8 13 21) (let ((i (round (* 2 (acos -1))))) (if (inexact? i) (inexact->exact i) i))) ⇒ 13
Return the contents of position k (a size_t
) of
vec.
A vector created by one of the dynamic vector constructor procedures (see Vector Creation) can be modified using the following procedures.
NOTE: According to R5RS, it is an error to use any of these procedures on a literally read vector, because such vectors should be considered as constants. Currently, however, Guile does not detect this error.
Store obj in position k of vec. k must be a valid index of vec. The value returned by ‘vector-set!’ is unspecified.
(let ((vec (vector 0 '(2 2 2 2) "Anna"))) (vector-set! vec 1 '("Sue" "Sue")) vec) ⇒ #(0 ("Sue" "Sue") "Anna")
Store obj in position k (a size_t
) of vec.
Store fill in every position of vec. The value
returned by vector-fill!
is unspecified.
Return a copy of vec.
Copy elements from vec1, positions start1 to end1, to vec2 starting at position start2. start1 and start2 are inclusive indices; end1 is exclusive.
vector-move-left!
copies elements in leftmost order.
Therefore, in the case where vec1 and vec2 refer to the
same vector, vector-move-left!
is usually appropriate when
start1 is greater than start2.
Copy elements from vec1, positions start1 to end1, to vec2 starting at position start2. start1 and start2 are inclusive indices; end1 is exclusive.
vector-move-right!
copies elements in rightmost order.
Therefore, in the case where vec1 and vec2 refer to the
same vector, vector-move-right!
is usually appropriate when
start1 is less than start2.
Next: Vector Accessing from C, Previous: Vector Creation, Up: Vectors [Contents][Index]