Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗dtPmLmFP 292 of 412 menu
◀ ▶

Лямбда параметром функции в Dart

Параметр функции может иметь тип лямбды. Внутри функции такой параметр вызывают как обычную функцию:

int applyTwice(int value, int Function(int) op) { var first = op(value); return op(first); } var result = applyTwice(3, (n) => n + 1); print(result);

Лямбда без аргументов подходит для отложенного действия. Функция может вызвать переданный блок один или несколько раз:

void runSafe(void Function() action) { print("begin"); action(); print("end"); } runSafe(() { print("work"); });

Предикат - лямбда с результатом bool - удобен для проверки значения. Имя параметра в лямбде задают явно:

bool checkValue(int n, bool Function(int) rule) { return rule(n); } print(checkValue(8, (n) => n % 2 == 0));

Напишите функцию combine с двумя целыми и лямбдой int Function(int, int). Функция возвращает результат лямбды для этих чисел. Выведите результат для 6 и 7 так, чтобы вернулось их произведение.

Напишите функцию repeatAction: целое times и лямбда void Function(). Тело лямбды должно выполниться столько раз, сколько задано в times. Проверьте выводом строки "tick" три раза.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить