| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
srfi-43 - ベクタライブラリこのモジュールはベクタ用のライブラリ関数を提供します。 SRFI-43のいくつかの関数は組み込みになっています。ベクタを見てく ださい。
[SRFI-43]
[SRFI-43]
[SRFI-43]
[SRFI-43] Returns a newly allocated vector whose contents are concatenation of elements of vec in order.
[SRFI-43]
Acts like (apply vector-append list-of-vectors), though
this may be more efficient.
[SRFI-43]
Returns #t if vec’s length is zero, and
#f if vec’s length is more than zero.
Signals an error if vec is not a vector.
[SRFI-43]
Compares vecs element-wise, using given predicate elt=.
Returns #t iff lengths of all the vectors are the same,
and every corresponding elements are equal by elt=.
Elt= is always called with two arguments and must
return #t iff two are the same.
[SRFI-43]
Kons is a procedure that takes n+2 arguments, where
n is the number of given vectors. For each element of the
given vectors, kons is called as
(kons i seed e_1i e_2i …),
where i is the index, and e_ni is the i-th element
of the vector n. If the lengths of the vectors differ,
iteration stops when the shortest vector is exhausted.
The initial value of seed is knil, and the return value
from kons is used as the next seed value. The last return value
of kons is returned from vector-fold.
The iteration is strictly left to right.
Note that the seed value precedes elements, which is opposite to
fold (See section コレクションに対するマッピング). It’s an unfortunate
historical glitch; vector-fold-left would be more consistent
name.
[SRFI-43]
Like vector-fold, but iterates right to left.
[SRFI-43]
The argument f is a procedure that takes n+1 arguments where
n is the number of given vectors. These procedures call f
for each element of the given vectors as
(f i e_1i e_2i …),
where i is the index, and e_ni is the i-th element
of the vector n. If the lengths of the vectors differ, iteration
only covers the shortest vector.
vector-map creates a fresh vector out of the result of applications
of f and returns it.
vector-map! reuses vec1 to
store the result and returns vec1; hence vec1 must be mutable.
vector-for-each is for side-effects. It discards the result of
f.
vector-count counts the number of times f returned a true value.
(vector-map list '#(a b c)) ⇒ #((0 a) (1 b) (2 c)) (vector-map list '#(a b c) '#(d e f g)) ⇒ #((0 a d) (1 b e) (2 c f)) (vector-count = '#(0 2 2 4 4)) ⇒ 3 |
Note: The generic map and for-each
in gauche.collection can be used
on vectors, but the procedure is called without index, and the result
is returned as a list.
(vector-map f vec1 vec2 …) is operationally equivalent to
(map-to-with-index <vector> f vec1 vec2 …).
See gauche.collection - コレクションフレームワーク and gauche.sequence - シーケンスフレームワーク.
[SRFI-43]
Returns the index of the first or the last elements in vec1
vec2 … that satisfy pred, respectively.
Returns #f if no elements satisfy pred.
In vector-index, comparison ends at the end of the shortest vector.
For vector-index-right, all the vectors must have the same length.
[SRFI-43]
Like vector-index and vector-index-right, except that
the result of pred is negated. That is, returns the index
of the first or the last elements that don’t sastisfy pred.
[SRFI-43+]
Look for value in a vector vec, and returns its
index if it is found, or #f if it is not found.
Comparison of value and an element in vec is
done by a procedure cmp, which takes two arguments,
and should return a negative integer if the first argument is less than the
second, 0 if they are the same, and a positive integer if the first
is greater than tne second.
Elements in vec must be ordered from smaller to greater w.r.t. cmp. Using that fact, this procedure performs binary search instead of linear search.
The optional arguments start and end are an extention to SRFI-43, and can be used to limit the range of the search in start-th element (inclusive) to end-th element (exclusive).
[SRFI-43]
Applies pred on each corresponding elements
of vec1 vec2 … left to right, and
as soon as pred returns non-#f value,
the procedure stops iteration and returns the value.
If no elements that satisfy pred are found, it returns #f.
Vectors can have different lengths. Iteration stops at the end of the shortest.
[SRFI-43]
Applies pred on each corresponding elements
of vec1 vec2 … left to right.
If all the elements (when the lengths of vectors differ, the
first N elements where N is the length of the shortest) satisfy
pred, returns the last result of pred. Otherwise
returns #t.
[SRFI-43]
Swaps vector vec’s i-th and j-th elements.
[SRFI-43]
[SRFI-43]
[SRFI-43]
[SRFI-43]
[SRFI-43]
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by Shiro Kawai on May 28, 2012 using texi2html 1.82.