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

Последний аргумент-функция в Dart

Когда лямбда - последний аргумент функции, ее тело можно писать после закрывающей скобки вызова. Остальные аргументы остаются внутри скобок:

void withPrefix(String prefix, void Function() block) { print("$prefix: "); block(); } withPrefix("log") { print("saved"); };

Такая запись эквивалентна передаче лямбды последним аргументом внутри скобок:

int mapValue(int n, int Function(int) transform) { return transform(n); } print(mapValue(5, (int x) => x * 10)); print(mapValue(5) (int x) { return x * 10; });

Если у вызова только один аргумент-функция, скобки с данными можно опустить и оставить только блок:

void runStep(void Function() block) { block(); } runStep { print("step"); };

Напишите функцию onReady с одной лямбдой void Function(). Вызовите ее, передав блок за скобками, который выводит "ready".

Напишите функцию formatNum: целое и лямбда String Function(int). Вызовите с числом 12 и блоком снаружи скобок, который возвращает строку "n=12".

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