かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

手軽なスクリプト言語としての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

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