Spec-Zone .ru
спецификации, руководства, описания, API
|
Функциональный тип представляет набор функциональных определений с данной подписью - то есть, функции, у которых есть данные типы параметра и тип возврата.
Например, переменная myFunc объявляется как имение функционального типа:
var myFunc : function(:Object,:Integer):String;
Переменная myFunc может содержать функциональные определения, которые берут Объект и Целое число как параметры, и возвращает Строку.
У функциональных типов есть нуль как их значение по умолчанию. Так, myFunc является первоначально нулем, мы можем дать этому значение присвоением или инициализацией. Это было бы допустимым присвоением на 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!" }