函数或方法作为集合中的值
Function or method as value in collection
是否可以在任何类型的集合中将函数或方法调用作为值传递?
$collection = Vector {
function(){}
};
上面的代码抛出致命错误:语法错误,意外 T_FUNCTION,需要“}”
糟糕,这看起来像是 HHVM 解析器的限制。以下是使用本地人解决它的一些选项。如果对您很重要,请随时 file an issue on GitHub 支持您原始问题中的文字语法。
选项 1:
$v = Vector {};
$f = function () {};
$v[] = $f;
选项 2:
$f = function () {};
$v = Vector {$f};
等等
是否可以在任何类型的集合中将函数或方法调用作为值传递?
$collection = Vector {
function(){}
};
上面的代码抛出致命错误:语法错误,意外 T_FUNCTION,需要“}”
糟糕,这看起来像是 HHVM 解析器的限制。以下是使用本地人解决它的一些选项。如果对您很重要,请随时 file an issue on GitHub 支持您原始问题中的文字语法。
选项 1:
$v = Vector {};
$f = function () {};
$v[] = $f;
选项 2:
$f = function () {};
$v = Vector {$f};
等等