Функция или метод как значение в коллекции
Можно ли передать вызов функции или метода в качестве значения в коллекции любого типа?
$collection = Vector {
function(){}
};
Приведенный выше код генерирует фатальную ошибку: синтаксическая ошибка, неожиданный T_FUNCTION, ожидание '}'
1 ответ
Решение
К сожалению, это выглядит как ограничение синтаксического анализатора HHVM. Ниже приведены несколько вариантов работы с местными жителями. Не стесняйтесь подавать проблему на GitHub для поддержки буквального синтаксиса в исходном вопросе, если он важен для вас.
Опция 1:
$v = Vector {};
$f = function () {};
$v[] = $f;
Вариант 2:
$f = function () {};
$v = Vector {$f};
и т.п.