Module Array その 1
Array モジュールの関数をいくつか使ってみた。残りは次回。
val make : int -> 'a -> 'a array
# let a_i = Array.make 3 0;; val a_i : int array = [|0; 0; 0|] # let a_s = Array.make 3 "string";; val a_s : string array = [|"string"; "string"; "string"|] # let a_c = Array.make 3 'c';; val a_c : char array = [|'c'; 'c'; 'c'|]
# let a = [|0;1;2;3|];; val a : int array = [|0; 1; 2; 3|]
val init : int -> (int -> 'a) -> 'a array
# let a = Array.init 3 (fun i -> Printf.sprintf "value%02d" i);; val a : string array = [|"value00"; "value01"; "value02"|]
val make_matrix : int -> int -> 'a -> 'a array array
# let a = Array.make_matrix 2 3 0;; val a : int array array = [|[|0; 0; 0|]; [|0; 0; 0|]|]
val length : 'a array -> int
# let a = [|0; 1; 2; 3|];; val a : int array = [|0; 1; 2; 3|] # let length = Array.length a;; val length : int = 4
val get : 'a array -> int -> 'a
# let a = [|0; 1; 2; 3|];; val a : int array = [|0; 1; 2; 3|] # let v = Array.get a 0;; val v : int = 0 # let v = Array.get a (-1);; Exception: Invalid_argument "index out of bounds". # let v = Array.get a 4;; Exception: Invalid_argument "index out of bounds".
val set : 'a array -> int -> 'a -> unit
# let a = [|0; 1; 2; 3|];; val a : int array = [|0; 1; 2; 3|] # Array.set a 0 10;; - : unit = () # a;; - : int array = [|10; 1; 2; 3|] # Array.set a (-1) 10;; Exception: Invalid_argument "index out of bounds".