関数型


関数型は、与えられたシグネチャと関数の定義の組を表します。 関数は引数の型と戻り値の型を持っています。

例では、変数 myFunc は関数型として宣言されています。

var myFunc : function(:Object,:Integer):String;

変数 myFunc は引数としてObjectとIntegerを、戻り値としてStringを持つ関数定義を保存することができます。

関数型はそのデフォルト値としてnullを持ちます。よって、myFuncは最初はnullです。 私達はそれに値を割り当てるか初期化することができます。 次はmyFuncに値を割り当てています。

myFunc = function(obj : Object, k : Integer) { "Here is the Object: {obj}, and the Integer: {k}" }

現在myFuncに保持されている関数定義は、他の関数と同様に呼び出されます。

println( myFunc(4s, 777) );
println( myFunc(null, 1234) );

印字結果:

Here is the Object: 4000.0ms, and the Integer: 777
Here is the Object: null, and the Integer: 1234

変数はもちろん、その引数と戻り値の型を持つ他の関数に再割り当てすることができます。

myFunc = function(obj : Object, k : Integer) { "So!" }

Home