配列はリストと似ているけど
- 長さが生成時に固定される
- 各要素に直接アクセスできる
- 書き換え可能
という点で違う。各要素は同じ型でないといけないのはリストと同じ。
生成:
# let ary = [| 1; 2; 3; 4; 5 |];; val ary : int array = [|1; 2; 3; 4; 5|] # ary;; - : int array = [|1; 2; 3; 4; 5|]
要素の参照:
# ary.(3);; - : int = 4
リストと違って先頭からたどる必要がない。
書き換え:
# ary.(3) <- 333;; - : unit = () # ary;; - : int array = [|1; 2; 3; 333; 5|]