ActionScript имеет много общего с JavaScript, но также предоставляет систему статических типов, которая используется в Java. В Java отсутствует поддержка функций высшего порядка. Функции, которые принимают функции в качестве аргументов или возвращают функции или оба.
curry
принимает и аргументы типа Function
и произвольное количество дополнительных аргументов (параметр ...
rest). Он возвращает Function
, который также принимает произвольное количество аргументов. Когда эта функция вызывается, все аргументы объединяются и применяются к исходной функции.
// pseudo code
const f:Function = curry(function(o):* { o.join(', '); }, 1, 2, 3);
const result:* = f(4, 5, 6);
trace(result); // [1, 2, 3, 4, 5, 6]
В Java будут использоваться внутренние классы или лямбда-выражения вводятся в Java 8.