Spec-Zone.ru › OCaml

Модуль 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API