かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

手軽なスクリプト言語としてのF# その7

さて、7回目になりましたが未だに関数型言語としてのF#の側面をほとんど使ってません。唯一カリー化くらいでしょうか。今回も、関数型言語の側面に触れずにいきます。


今回のネタは"その5"やったタプルを関数の引数にしたら?というものです。タプルは複数の値の組なので、それを使うことで関数に複数の値まとめて渡せるという素敵な技です。まぁ普通に今までさらっとしてきた関数定義でも複数の引数を渡してましたが、こういうやり方もあるよということとタプルを使うことが推奨されてる箇所もあったりするので覚えておくといいです。


ということで、早速2つの引数を受け取って足し算して返す関数を作ってみます。

// 普通?の関数
let add x y = x + y

// 引数にタプルを使った関数
let add2 (x, y) = x + y

// 今までお馴染みの呼び出し方
let ans = add 10 2
// タプルを使って複数の引数を渡す技
let ans2 = add2(10, 2)

// 結果を印字
printfn "add 10 2 = %d" ans
printfn "add2 (10, 2) = %d" ans2

実行結果は、出すまでもないですが以下のようになります。

add 10 2 = 12
add2 (10, 2) = 12

ということでタプルを引数に渡すケースでした。そんなに難しくないですね。