Set.S

このページは最後に更新されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

last mod. 2009-09-10 (木) 14:43:36

Set

module type S = sig  end

functor Set.Make の出力 signature です。


type  elt

集合の要素の型です。

type t

集合の型です。

val empty : t

空集合です。

val is_empty : t -> bool

集合が空かどうか検査します。

val mem : elt -> t -> bool

mem x s は集合 s 中に x があるかどうか検査します。

val add : elt -> t -> t

add x s は集合 s の要素すべてに x を追加した集合を返します。s 中にすでに x が存在した場合は、s を変更せずに返します。

val singleton : elt -> t

singleton x は x を 1 つだけ持つ集合を返します。

val remove : elt -> t -> t

remove x s は集合 s の要素から x を取り除いて返します。s 中に x が存在しない場合は、s を変更せずに返します。

val union : t -> t -> t

和集合。

val inter : t -> t -> t

積集合。

val diff : t -> t -> t

差集合。

val compare : t -> t -> int

集合同士の全順序関数です。集合の集合を作るときの順序関数として使えます。

val equal : t -> t -> bool

equal s1 s2 は集合 s1 と s2 が等しいかどうか、つまり持つ要素がすべて同じかどうか検査します。

val subset : t -> t -> bool

subset s1 s2 は集合 s1 が集合 s2 の部分集合になっているかどうか検査します。

val iter : (elt -> unit) -> t -> unit

iter f s は s の要素すべてを順に f に適用していきます。sの要素は、要素の上に定義された順序に従って、昇順でfに渡されます。

val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a

fold f s a は (f xN ... (f x2 (f x1 a))...) を評価します。 x1 ... xN は s 中のすべての要素であり、昇順で並んでいます。

val for_all : (elt -> bool) -> t -> bool

for_all p s は集合の要素すべてが、述語 p を満たすかどうかチェックします。

val exists : (elt -> bool) -> t -> bool

exists p s は集合の要素で、述語 p を満たすものが少なくとも 1 つはあるかどうかチェックします。

val filter : (elt -> bool) -> t -> t

filter p s は s の要素で、述語 p を満たすものすべてを含む集合を返します。

val partition : (elt -> bool) -> t -> t * t

partition p s は集合のペア (s1, s2) を返します。s1 は s の要素で述語 p を満たすものの集合、s2 は満たさないものの集合です。

val cardinal : t -> int

集合の数を返します。

val elements : t -> elt list

与えられた集合の要素すべてをリストにして返します。返されるリストは Ord.compare に関して昇順にソートされています (Ord は Set.Make に与えられる引数です) 。

val min_elt : t -> elt

集合の要素で (Ord.compare に関して) 最も小さい要素を返します。集合が空だった場合は例外 Not_found を発生します。

val max_elt : t -> elt

Set.S.min_elt と同じように、最も大きい要素を返します。

val choose : t -> elt

集合から要素を 1 つ選んで返します。集合が空だった場合は例外 Not_found を発生します。どの要素が選ばれるかは規定されていませんが、同じ集合が与えられたときは必ず同じ要素を返します。

val split : elt -> t -> t * bool * t

split x sは、 (l, present, r)を返します。lはxよりも小さい要素を含む集合であり、rはxよりも大きい要素を含む集合です。presentは、sかxと等しい要素を含まない場合はfalse、xと等しい要素を含む場合はtrueです。

新規 編集 添付