配列型

配列とはデータの集合のことです。 その意味ではリストに似ていますが 添え字(インデックス)を用いてデータにアクセス出来る点がリストと異なります。 またリストと同じく、配列の中身の型は同じでなければなりません。 配列は要素を[| |]で囲って表します。 また要素は、リストと同じく";"で区切ります。
配列
> [| |];;
val it : 'a array = [||]
> [|1;2;3|];;
val it : int array = [|1; 2; 3|]
> [|"abc";"def";"ghi"|];;
val it : string array = [|"abc"; "def"; "ghi"|]
配列の要素は.[インデックス]で参照します。 一つ目の要素のインデックスは0から始まります。 要素のないインデックスを参照すると例外が発生します。 例外については後の節で説明します。
配列の要素の参照
> let array = [|1;2;3;4;5|] in array.[0];;
val it : int = 1
> let array = [|1;2;3;4;5|] in array.[3];;
val it : int = 4
> let array = [|1;2;3;4;5|] in array.[6];;
System.IndexOutOfRangeException: インデックスが配列の境界外です。
   場所 <StartupCode$FSI_0019>.$FSI_0019._main()
stopped due to error
//あまり意味はないですが、こんな書き方も出来ます
> [|1;2;3;|].[2];;
val it : int = 3
配列にも、リストと同様の略記法が使用できます。
配列の略記
> [|1..10|];;
val it : int array = [|1; 2; 3; 4; 5; 6; 7; 8; 9; 10|]
> [|1..2..10|];;
val it : int array = [|1; 3; 5; 7; 9|]
> [|1..3..20|];;
val it : int array = [|1; 4; 7; 10; 13; 16; 19|]