Выбор ответа Junior Функции, замыкания, генераторы спрашивают часто обновлено

Стрелочные функции fn

Вопрос

Какое утверждение о стрелочных функциях fn($a) => $a * $k верно?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Сами захватывают внешние переменные по значению, тело из одного выражения. Стрелочные функции (PHP 7.4) содержат одно выражение и сами захватывают используемые внешние переменные по значению.

Варианты ответа

  1. Сами захватывают внешние переменные по значению, тело из одного выраженияправильный ответ
  2. Захватывают внешние переменные по ссылке, поэтому могут их изменить
  3. Им нужен use ($k), как у обычных анонимных функций, иначе $k не виден
  4. Внутри можно писать несколько операторов в фигурных скобках с return

Разбор

Стрелочные функции (PHP 7.4) содержат одно выражение и сами захватывают используемые внешние переменные по значению. Изменить внешнюю переменную из них нельзя. use для них не пишут. Для многострочной логики нужна обычная function () use (...) { ... }.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.