Модуль Pair
module Pair: sig .. end
Операции над парами.
- Начиная с версии 5.4
Пары
type ('a, 'b) t = 'a * 'b Тип пар.
val make : 'a -> 'b -> 'a * 'b
make a b — это пара (a, b).
val fst : 'a * 'b -> 'a
fst (a, b) — это a.
val snd : 'a * 'b -> 'b
snd (a, b) — это b.
val swap : 'a * 'b -> 'b * 'a
swap (a, b) — это (b, a).
Итераторы
val fold : ('a -> 'b -> 'c) -> 'a * 'b -> 'c
fold f (a, b) применяет f к a и b.
val map : ('a -> 'c) -> ('b -> 'd) -> 'a * 'b -> 'c * 'd
map f g (a, b) применяет f к a и g к b.
val iter : ('a -> unit) -> ('b -> unit) -> 'a * 'b -> unit
iter f g (a, b) сначала применяет f к a, а затем g к b.
val map_fst : ('a -> 'c) -> 'a * 'b -> 'c * 'b
map_fst f p применяет f к первому компоненту p.
val map_snd : ('b -> 'c) -> 'a * 'b -> 'a * 'c
map_snd f p применяет f ко второму компоненту p.
Предикаты и сравнения
val equal : ('a -> 'a -> bool) -> ('b -> 'b -> bool) -> 'a * 'b -> 'a * 'b -> bool
equal eqa eqb (a1, b1) (a2, b2) является true тогда и только тогда, когда eqa a1 a2 и eqb b1 b2 оба являются true.
val compare : ('a -> 'a -> int) -> ('b -> 'b -> int) -> 'a * 'b -> 'a * 'b -> int
compare cmpa cmpb задаёт линейный порядок на парах, используя cmpa для сравнения первого компонента и cmpb для сравнения второго компонента. Он реализован лексикографическим порядком.
© 1995-2026 INRIA.
https://ocaml.org/manual/5.5/api/Pair.html