Module type Map.S
module type S = sig end
type key
マップのキーの型です。
type 'a
t
型 key
から型 'a
を返すマップの型です。
val empty : 'a t
空のマップです。
val add : key -> 'a -> 'a t -> 'a t
add x y m
は m
と同じ束縛に、さらに x
から y
への束縛を追加したマップを返します。x
がすでに m
のなかで何かに束縛していたら、その束縛は隠れます。
val find : key -> 'a t -> 'a
find x m
は m
中で x
が束縛しているものを返します。そのような束縛がなかったら例外 Not_found
を発生します。
val remove : key -> 'a t -> 'a t
remove x m
は m
から x
の束縛を取り除いて返します。
val mem : key -> 'a t -> bool
mem x m
は m
中に x
の束縛が存在すれば true
を、なければ false
を返します。
val iter : (key -> 'a -> unit) -> 'a t -> unit
iter f m
は m
中の束縛すべてを f
に適用します。f
は第一引数にキーを、第二引数に連想値を取ります。どの束縛からどういう順に f
を適用されるかは規定されていません。f
に渡されるのは現在の束縛だけで、新しい束縛で隠れている束縛は f
に渡されません。
val map : ('a -> 'b) -> 'a t -> 'b t
map f m
は m
中の束縛される連想値 a
を f
に適用した結果と置き換えたマップを返します。どの連想値からどういう順に f
を適用されるかは規定されていません。
val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
fold f m a
は (f kN dN ... (f k1 d1 a)...)
を評価します。
k1 ... kN
は m
中のすべてのキーで、
d1 ... dN
は連想値です。
どの束縛からどういう順に f
を適用されるかは規定されていません。