You are currently looking at the < v8.2.0 docs (Reason v3.6 syntax edition). You can find the latest API docs here.
(These docs cover all versions between v3 to v8 and are equivalent to the old BuckleScript docs before the rebrand)
Vector
Provide vector utilities.
t
type t('a) = array('a);
filterInPlace
let filterInPlace: ((. 'a) => bool, t('a)) => unit;
p : predicate a : array
empty
let empty: t('a) => unit;
pushBack
let pushBack: ('a, t('a)) => unit;
copy
let copy: t('a) => t('a);
Create a shallow copy of a vector.
memByRef
let memByRef: ('a, t('a)) => bool;
Find by JS (===) equality.
iter
let iter: ((. 'a) => unit, t('a)) => unit;
iteri
let iteri: ((. int, 'a) => unit, t('a)) => unit;
toList
let toList: t('a) => list('a);
map
let map: ((. 'a) => 'b, t('a)) => t('b);
mapi
let mapi: ((. int, 'a) => 'b, t('a)) => t('b);
foldLeft
let foldLeft: ((. 'a, 'b) => 'a, 'a, t('b)) => 'a;
foldRight
let foldRight: ((. 'b, 'a) => 'a, t('b), 'a) => 'a;
length
let length: t('a) => int;
Return the length (number of elements) of the given array.
get
let get: (t('a), int) => 'a;
Vector.get(a, n)
returns the element number n
of vector a
. The first element has number 0. The last element has number Vector.length(a) - 1
. You can also write a[n]
instead of Vector.get(a, n)
.
Raise Invalid_argument "index out of bounds"
if n
is outside the range 0 to (Array.length(a) - 1
).
set
let set: (t('a), int, 'a) => unit;
Vector.set(a, n, x)
modifies vector a
in place, replacing element number n
with x
.
Raise Invalid_argument "index out of bounds"
if n
is outside the range 0 to Array.length(a) - 1
.
make
let make: (int, 'a) => t('a);
Vector.make(n, x)
returns a fresh vector of length n
, initialized with x
. All the elements of this new vector are initially physically equal to x
(in the sense of the ==
predicate).
Consequently, if x
is mutable, it is shared among all elements of the array, and modifying x
through one of the array entries will modify all other entries at the same time.
Raise Invalid_argument
if n < 0
or n > Sys.max_array_length
. If the value of x
is a floating-point number, then the maximum size is only Sys.max_array_length / 2
.
init
let init: (int, (. int) => 'a) => t('a);
Raises RangeError
when n is negative.
n : size
append
let append: ('a, t('a)) => t('a);
append(x, a)
returns a fresh vector with x
appended to a
.
unsafe_get
let unsafe_get: (t('a), int) => 'a;
unsafe_set
let unsafe_set: (t('a), int, 'a) => unit;