Лямбды / Замыкания
Анонимный метод, также известный, как лямбда-выражение, функциональный литерал или замыкание, может быть определен в Vala при помощи оператора =>
. Список параметров должен находиться слева от оператора, а тело метода - справа.
Анонимный метод сам по себе не имеет смысла. Он полезен только если вы присваиваете его переменной типа делегат или передаете его в качестве аргумента в другой метод.
Обратите внимание, что ни тип параметра ни тип возвращаемого значения не заданы явно. Вместо этого типы определяются по сигнатуре делегата, которому присваивается метод.
Присваивание анонимного метода делегату.
Пересылка анонимных методов в другие методы:
Анонимные методы поддерживают замыкания. Это значит, что вы можете получить доступ к переменным внешнего метода, внутри лямбда-выражения:
В этом примере curried_add (смотрите Каррирование) возвращает новосозданный метод, который сохраняет значение a. Это возвращённый метод вызывается затем с аргументом 4, выдавая в качестве результата сумму двух чисел.
Last updated