さて、今回はタプルというものを使ってみようと思います。タプル自体の説明は以下を参照するといいと思います。
http://ja.wikipedia.org/wiki/%E3%82%BF%E3%83%97%E3%83%AB
要は、組ということですね。もっと具体的に言うと何個かの値を一まとまりとして扱えるものですかね。定義の仕方は簡単です。
値1,値2,値3, ....
このようにカンマ区切りで値を定義していきます。Listの定義が何でカンマ区切りじゃなくてセミコロン区切りなんだろうと思ってたら、タプルで使われてたからなんですね。
ということで早速使ってみようと思います。
// タプル 値,値,値,...で生成出来る let tpl = 1,2,3 printfn "%A" tpl // 値の取り出しはこんな風に代入でやるらしい let a, b, c = tpl printfn "a = %d, b = %d, c = %d" a b c // Listと違って違う型も入れれる let tpl2 = 1, "two", 3 printfn "%A" tpl2 // 要素が2つのタプルは、専用の値取り出し関数がある let pair = 1, "two" printfn "fst = %d, snd = %s" (fst pair) (snd pair)
実行結果は以下のようになります。
(1, 2, 3) a = 1, b = 2, c = 3 (1, "two", 3) fst = 1, snd = two
お手軽に関数から複数の値を返したりとかするのにいい感じですね。
さて、タプルとか使うと色々嬉しいこととかが出来るようになるのですが、それはまた別のお話。