W.I.S. Laboratory
menu-bar

Dart

Dartで関数をカリー化してみる

関数をカリー化するには、その言語が第一級関数をサポートしている必要がある。
要するに「関数を返す関数」(高階関数という)が作成できることが前提となり、その返される関数がクロージャになっているか、その関数にキャプチャ機能があるか、どちらかが必要だ。
DartはJavaScriptを置き換える目的で誕生しているので、JavaScriptと同じくすべての関数がクロージャになっている。
関数を返す時は、戻り値の型はFunction型で統一できるので、とても書きやすい。

ここでは引数を2つ取り、その和を返す下のような単純な関数をカリー化してみることにする。

上の関数をカリー化すると、下の「addNFunc」のような感じになる。

[ 戻る ]
saluteweb