プログラミング言語SML#解説 3.7.1版
26.1 ARRAY
組み込みデータ型である配列型 arrayの操作を提供する.
シグネチャ
signature ARRAY = sig type ’a array = ’a array type ’a vector = ’a Vector.vector val all : (’a -> bool) -> ’a array -> bool val app : (’a -> unit) -> ’a array -> unit val appi : (int * ’a -> unit) -> ’a array -> unit val array : int * ’a -> ’a array val collate : (’a * ’a -> order) -> ’a array * ’a array -> order val copy : {src : ’a array, dst : ’a array, di : int} -> unit val copyVec : {src : ’a vector, dst : ’a array, di : int} -> unit val exists : (’a -> bool) -> ’a array -> bool val find : (’a -> bool) -> ’a array -> ’a option val findi : (int * ’a -> bool) -> ’a array -> (int * ’a) option val foldl : (’a * ’b -> ’b) -> ’b -> ’a array -> ’b val foldli : (int * ’a * ’b -> ’b) -> ’b -> ’a array -> ’b val foldr : (’a * ’b -> ’b) -> ’b -> ’a array -> ’b val foldri : (int * ’a * ’b -> ’b) -> ’b -> ’a array -> ’b val fromList : ’a list -> ’a array val length : ’a array -> int val maxLen : int val modify : (’a -> ’a) -> ’a array -> unit val modifyi : (int * ’a -> ’a) -> ’a array -> unit val sub : ’a array * int -> ’a val tabulate : int * (int -> ’a) -> ’a array val update : ’a array * int * ’a -> unit val vector : ’a array -> ’a vector end
シグネチャを実装するストラクチャ
-
•
Array:ARRAY.